-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathgenerate_solution.bat
50 lines (41 loc) · 1.39 KB
/
generate_solution.bat
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
REM *** Command Line Arguments ***
REM DLLOnly - Generates a solution with only DLL-related build configurations
py -m pip install -r teamcity/requirements.txt
if "%~1"=="-ci" (goto :NoGitConfig) else goto :GitConfig
:GitConfig
echo "Configuring Git"
git config core.hooksPath .githooks
git config commit.template .githooks/commit-template.txt
:NoGitConfig
IF NOT EXIST "modules/premake/README.md" (
git submodule init
git submodule update --recursive
)
IF NOT EXIST "modules/premake/bin/release/premake5.exe" (
cd modules/premake
call Bootstrap.bat
cd ../..
)
IF NOT EXIST "modules/googletest/build/ALL_BUILD.vcxproj" (
cd modules/googletest
mkdir build
cd build
call cmake ..
call msbuild ALL_BUILD.vcxproj /property:Configuration=Release
cd ../../..
)
REM Tiny process library used in tests project (statically linked) to invoke multiplayer test runner.
REM We install to thirdparty, i'm not sure this is the best idea, but i'm not sure why modules and thirdparty are split.
IF NOT EXIST "ThirdParty/tiny-process-library/install/lib/tiny-process-library.lib" (
cd Thirdparty/tiny-process-library
mkdir build
call cmake -S . -B build -G "Visual Studio 17 2022" -DCMAKE_INSTALL_PREFIX=install
call cmake --build build --config Release
call cmake --install build --config Release
cd ../..
)
cd tools/wrappergenerator
call npm install
cd ../..
"modules/premake/bin/release/premake5.exe" vs2022 %*
pause