From 0d0e37b5616d61e0f6155cc314f4a9367119d236 Mon Sep 17 00:00:00 2001 From: u130b8 <115743848+u130b8@users.noreply.github.com> Date: Wed, 6 Sep 2023 14:16:24 +0300 Subject: [PATCH] add build.cmd and make it build from command line --- .gitignore | 4 ++-- build.cmd | 33 +++++++++++++++++++++++++++++++++ progmgr/group.c | 3 +++ progmgr/lang/dlg_en-US.rc | Bin 6196 -> 6198 bytes progmgr/lang/res_en-US.rc | Bin 7828 -> 7830 bytes progmgr/progmgr.c | 17 +++++++++++++++++ progmgr/resource.rc | 2 +- 7 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 build.cmd diff --git a/.gitignore b/.gitignore index cc7fe15..177af74 100644 --- a/.gitignore +++ b/.gitignore @@ -44,7 +44,6 @@ # Kernel Module Compile Results *.mod* -*.cmd .tmp_versions/ modules.order Module.symvers @@ -52,9 +51,10 @@ Mkfile.old dkms.conf /.vs/Program-Manager-II /planning -/progmgr/RCa10968 +/progmgr/RCa* /progmgr/icons/Thumbs.db /bin/ /misc/supermiumman.png /bin.7z *.zip +*.res \ No newline at end of file diff --git a/build.cmd b/build.cmd new file mode 100644 index 0000000..6ca332b --- /dev/null +++ b/build.cmd @@ -0,0 +1,33 @@ +@echo off + +set DEFS=/DUNICODE +set DIR_ROOT=%~dp0. +set DIR_PROGMGR=%DIR_ROOT%\progmgr +set DIR_RELEASE=%DIR_ROOT%\release + +rmdir /S /Q "%DIR_RELEASE%" > nul 2>&1 +if not exist "%DIR_RELEASE%" mkdir "%DIR_RELEASE%" + +if "%1" == "debug" ( + rem NOTE: This currently doesn't link properly + set CL=/MT /Od /Zi /RTC1 /Fdprogmgr.pdb /fsanitize=address %DEFS% + set LINK=/DEBUG msvcrt.lib vcruntime.lib ucrtd.lib +) else ( + set CL=/O1 /DNDEBUG /GS- %DEFS% + set LINK=/OPT:REF /OPT:ICF +) + +pushd "%DIR_RELEASE%" +rc /nologo /i "%DIR_PROGMGR%" "%DIR_PROGMGR%\lang\dlg_en-US.rc" +rc /nologo /i "%DIR_PROGMGR%" "%DIR_PROGMGR%\lang\res_en-US.rc" +rc /nologo /i "%DIR_PROGMGR%" "%DIR_PROGMGR%\resource.rc" +cl /nologo /W3 /WX /MP /Feprogmgr.exe ^ + "%DIR_PROGMGR%\*.c" ^ + "%DIR_PROGMGR%\resource.res" ^ + "%DIR_PROGMGR%\lang\dlg_en-US.res" ^ + "%DIR_PROGMGR%\lang\res_en-US.res" ^ + /link /NODEFAULTLIB /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /FIXED /merge:_RDATA=.rdata ^ + /MANIFEST:EMBED /MANIFESTINPUT:%DIR_PROGMGR%\progmgr.exe.manifest ^ + kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ^ + secur32.lib comdlg32.lib pathcch.lib shlwapi.lib +popd diff --git a/progmgr/group.c b/progmgr/group.c index 41b277c..25b09fa 100644 --- a/progmgr/group.c +++ b/progmgr/group.c @@ -84,6 +84,8 @@ BOOL InitializeGroups() Pointer to a group window structure or NULL on failure \* * * */ +#pragma warning(push) +#pragma warning(disable: 4172) PGROUPWND CreateGroupWindow(PGROUP pgGroup) { GROUPWND gw = { NULL }; @@ -144,6 +146,7 @@ PGROUPWND CreateGroupWindow(PGROUP pgGroup) return &gw; } +#pragma warning(pop) /* * * *\ SetGroupFlags - diff --git a/progmgr/lang/dlg_en-US.rc b/progmgr/lang/dlg_en-US.rc index 14718d0d6b741070339ce8b594602030b253f9e7..e96fb1d5c377bc07a6e04843447ce7f6d05fd4d4 100644 GIT binary patch delta 24 fcmdmDu+3n@7AEd;hD?S$h7^W;hVspOnaV{0XwwJM delta 22 dcmdmHu*G1*7ADR_hBSr>h9ZX4&HI_kMFCoU2T%Y2 diff --git a/progmgr/lang/res_en-US.rc b/progmgr/lang/res_en-US.rc index 78cd15b5ae8abcaf1f0c31000b439c1429c339a6..c104f3e12c3270af60fab99d7e8f05824daffbbf 100644 GIT binary patch delta 36 scmbPYJI!{(D<F*ivA0L!Ne6#xJL delta 34 qcmbPcJH>XxD<;82hBSr>h9ZVkhGGUih71O~$rqW#H;XVgNdo}3@d=Xv diff --git a/progmgr/progmgr.c b/progmgr/progmgr.c index 0444763..bcdc05a 100644 --- a/progmgr/progmgr.c +++ b/progmgr/progmgr.c @@ -165,3 +165,20 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, return 0; } + +#pragma function(memset) +void *memset(char* dst, int value, size_t count) { + while (count--) { *dst++ = value; } + return dst; +} + +#pragma function(memcpy) +void *memcpy(char *dst, const char *src, size_t count) { + while (count--) { *dst++ = *src++; } + return dst; +} + +void __stdcall wWinMainCRTStartup() { + int code = wWinMain(GetModuleHandle(0), 0, 0, 0); + ExitProcess(code); +} \ No newline at end of file diff --git a/progmgr/resource.rc b/progmgr/resource.rc index af7f3a7..65fc50d 100644 --- a/progmgr/resource.rc +++ b/progmgr/resource.rc @@ -9,7 +9,7 @@ /* Necessary Evil */ #define APSTUDIO_HIDDEN_SYMBOLS -#include +#include #include "resource.h" #undef APSTUDIO_HIDDEN_SYMBOLS