11@ REM OrcaSlicer build script for Windows with VS auto-detect
22@ echo off
3+ setlocal ENABLEDELAYEDEXPANSION
34set WP = %CD%
45set _START_TIME = %TIME%
56
67@ REM Check for Ninja Multi-Config option (-x)
78set USE_NINJA = 0
9+ set JOBS =
10+ set NEXT_IS_JOBS = 0
811for %%a in (%* ) do (
912 if " %%a " == " -x" set USE_NINJA = 1
13+ if " !NEXT_IS_JOBS! " == " 1" (
14+ set JOBS = %%a
15+ set NEXT_IS_JOBS = 0
16+ ) else (
17+ if " %%a " == " -j" set NEXT_IS_JOBS = 1
18+ )
19+ )
20+
21+ set BUILD_PARALLEL_NINJA =
22+ set BUILD_PARALLEL_MSBUILD =
23+ if defined JOBS (
24+ set BUILD_PARALLEL_NINJA = --parallel %JOBS%
25+ set BUILD_PARALLEL_MSBUILD = -m:%JOBS%
26+ set CMAKE_BUILD_PARALLEL_LEVEL = %JOBS%
27+ set ORCA_MSBUILD_PARALLEL = /m:%JOBS%
28+ ) else (
29+ set BUILD_PARALLEL_MSBUILD = -m
30+ set ORCA_MSBUILD_PARALLEL = /m
1031)
1132
1233if " %USE_NINJA% " == " 1" (
@@ -96,6 +117,7 @@ if "%debug%"=="ON" (
96117 )
97118)
98119echo build type set to %build_type%
120+ if defined JOBS echo parallel jobs set to %JOBS%
99121
100122setlocal DISABLEDELAYEDEXPANSION
101123cd deps
@@ -114,10 +136,10 @@ REM Set minimum CMake policy to avoid <3.5 errors
114136set CMAKE_POLICY_VERSION_MINIMUM = 3.5
115137if " %USE_NINJA% " == " 1" (
116138 cmake ../ -G %CMAKE_GENERATOR% -DCMAKE_BUILD_TYPE=%build_type%
117- cmake --build . --config %build_type% --target deps
139+ cmake --build . --config %build_type% --target deps %BUILD_PARALLEL_NINJA%
118140) else (
119141 cmake ../ -G %CMAKE_GENERATOR% -A x64 -DCMAKE_BUILD_TYPE=%build_type%
120- cmake --build . --config %build_type% --target deps -- -m
142+ cmake --build . --config %build_type% --target deps -- %BUILD_PARALLEL_MSBUILD%
121143)
122144@ echo off
123145
@@ -133,10 +155,10 @@ echo on
133155set CMAKE_POLICY_VERSION_MINIMUM = 3.5
134156if " %USE_NINJA% " == " 1" (
135157 cmake .. -G %CMAKE_GENERATOR% -DORCA_TOOLS=ON %SIG_FLAG% -DCMAKE_BUILD_TYPE=%build_type%
136- cmake --build . --config %build_type% --target ALL_BUILD
158+ cmake --build . --config %build_type% --target ALL_BUILD %BUILD_PARALLEL_NINJA%
137159) else (
138160 cmake .. -G %CMAKE_GENERATOR% -A x64 -DORCA_TOOLS=ON %SIG_FLAG% -DCMAKE_BUILD_TYPE=%build_type%
139- cmake --build . --config %build_type% --target ALL_BUILD -- -m
161+ cmake --build . --config %build_type% --target ALL_BUILD -- %BUILD_PARALLEL_MSBUILD%
140162)
141163@ echo off
142164cd ..
0 commit comments