diff options
| author | Quentin Ladevie <qladevie@virtuos.com.cn> | 2024-08-16 18:05:11 +0200 |
|---|---|---|
| committer | Quentin Ladevie <qladevie@virtuos.com.cn> | 2024-08-16 18:05:11 +0200 |
| commit | fa57140c3e3a56f23a37351a66d51f2cf3464561 (patch) | |
| tree | b01ff6f7b8e429521b1531ee5e9063198116581e /build.bat | |
| parent | d4abaa7a7d89430fb8159ff0ce8c501c36a7ba82 (diff) | |
Add support for visual studio pro
Initial code for command parsing
Diffstat (limited to 'build.bat')
| -rw-r--r-- | build.bat | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -1,6 +1,7 @@ @ECHO OFF :: Unpack Arguments +set release=0 for %%a in (%*) do set "%%a=1" set BUILD_DIR=build @@ -10,12 +11,27 @@ IF EXIST %BUILD_DIR% rmdir %BUILD_DIR%\ /S /Q mkdir build -call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" +set VS2022_COM="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" +set VS2022_PRO="C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" +if EXIST %VS2022_COM% ( + call %VS2022_COM% + goto compilation +) +if EXIST %VS2022_PRO% ( + call %VS2022_PRO% + goto compilation +) + + +:compilation set C_FLAGS=/nologo /W4 /WX /Zi /GS- /GR- /Gs1000000000 /Fo:%BUILD_DIR%\ /std:c17 /c /Tc -set L_FLAGS=/WX /SUBSYSTEM:CONSOLE /NODEFAULTLIB /stack:0x100000,100000 /DEBUG +set L_FLAGS=/WX /SUBSYSTEM:CONSOLE /NODEFAULTLIB /stack:0x100000,100000 -if "%release%"=="0" set C_FLAGS=%C_FLAGS% /Od +if "%release%"=="0" ( + set C_FLAGS=/Od %C_FLAGS% + set L_FLAGS=/DEBUG %L_FLAGS% +) set SRC_FILE= @@ -30,7 +46,7 @@ link %L_FLAGS% %BUILD_DIR%\%SRC_FILE%.obj /OUT:%BUILD_DIR%\%SRC_FILE%.exe kernel :: Test program set SRC_FILE=test :: Compile -cl /Fd:%BUILD_DIR%\test.pdb %C_FLAGS% src/test.c +cl /Fd:%BUILD_DIR%\%SRC_FILE%.pdb %C_FLAGS% src/%SRC_FILE%.c :: Link link %L_FLAGS% %BUILD_DIR%\%SRC_FILE%.obj /OUT:%BUILD_DIR%\%SRC_FILE%.exe kernel32.lib |
