blob: 83b2da4a21b9da9a25ff94e41bf833bba6e6a6fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
@echo off
if "%VSCMD_ARG_TGT_ARCH%"=="" call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
set genconfig=Release
pushd %~dp0
set genname=win32gen
set cl_output_path=%genname%\x64\%genconfig%
set gen_output_path=x64\%genconfig%
set genexe=%gen_output_path%\%genname%.exe
if exist "%genexe%" (del /f "%genexe%" > NUL 2> NUL)
:compiling
echo Compiling...
mkdir %cl_output_path% > NUL 2> NUL
set compiler_flags=^
/c /Zi /nologo /W3 /WX- ^
/diagnostics:column /sdl /O2 /Oi /GL ^
/D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE ^
/Gm- /EHsc /MD /GS /Gy /fp:precise ^
/Zc:wchar_t /Zc:forScope /Zc:inline ^
/std:c++20 /permissive- /Fo"%cl_output_path%\\" ^
/external:W3 /Gd /TP /FC /errorReport:queue
@echo on
cl %compiler_flags% win32gen.cpp
@echo off
if %ERRORLEVEL% NEQ 0 (goto error)
:linking
echo Linking...
mkdir "%gen_output_path%" > NUL 2> NUL
set libs=^
kernel32.lib ^
user32.lib ^
gdi32.lib ^
comdlg32.lib ^
advapi32.lib ^
shell32.lib ^
ole32.lib ^
uuid.lib
set linker_flags=^
/ERRORREPORT:QUEUE ^
/OUT:%genexe% ^
/NOLOGO ^
%libs% ^
/MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed ^
/SUBSYSTEM:CONSOLE ^
/OPT:REF /OPT:ICF /LTCG:incremental ^
/LTCGOUT:"%cl_output_path%\%genname%.iobj" ^
/TLBID:1 /DYNAMICBASE /NXCOMPAT ^
/IMPLIB:"%gen_output_path%\%genname%.lib" ^
/MACHINE:X64
@echo on
link %linker_flags% %cl_output_path%\%genname%.obj
@echo off
if %ERRORLEVEL% NEQ 0 (goto error)
:generate
echo Generating...
%genexe% ..\test_windows_generated.odin
goto done
:error
echo Last command returned %ERRORLEVEL%
:done
popd
echo Done.
|