Fossil SCM

Enhance build suffix handling in the MSVC build tool.

mistachkin 2020-06-09 23:05 trunk
Commit 4a8ca98f2a67888c2639b6abc84a0298c2928be90cd2e02512b212da63868bed
1 file changed +31 -1
--- win/buildmsvc.bat
+++ win/buildmsvc.bat
@@ -185,11 +185,24 @@
185185
REM
186186
REM NOTE: Attempt to create the build output directory, if necessary.
187187
REM
188188
IF DEFINED BUILDDIR (
189189
IF DEFINED BUILDSUFFIX (
190
- SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX%
190
+ CALL :fn_FindVarInVar BUILDSUFFIX BUILDDIR
191
+
192
+ IF ERRORLEVEL 1 (
193
+ REM
194
+ REM NOTE: The build suffix is already present, do nothing.
195
+ REM
196
+ ) ELSE (
197
+ REM
198
+ REM NOTE: The build suffix is not present, add it now.
199
+ REM
200
+ SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX%
201
+ )
202
+
203
+ CALL :fn_ResetErrorLevel
191204
)
192205
) ELSE (
193206
SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX%
194207
)
195208
@@ -279,10 +292,27 @@
279292
SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB%
280293
:set_v110Sdk71A_lib_done
281294
CALL :fn_UnsetVariable PFILES_SDK71A
282295
SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1
283296
GOTO :EOF
297
+
298
+:fn_FindVarInVar
299
+ IF NOT DEFINED %1 GOTO :EOF
300
+ IF NOT DEFINED %2 GOTO :EOF
301
+ SETLOCAL
302
+ CALL :fn_UnsetVariable VALUE
303
+ SET __ECHO_CMD=ECHO %%%2%% ^^^| FIND /I "%%%1%%"
304
+ FOR /F "delims=" %%V IN ('%__ECHO_CMD%') DO (
305
+ SET VALUE=%%V
306
+ )
307
+ IF DEFINED VALUE (
308
+ CALL :fn_SetErrorLevel
309
+ ) ELSE (
310
+ CALL :fn_ResetErrorLevel
311
+ )
312
+ ENDLOCAL
313
+ GOTO :EOF
284314
285315
:fn_UnsetVariable
286316
SETLOCAL
287317
SET VALUE=%1
288318
IF DEFINED VALUE (
289319
--- win/buildmsvc.bat
+++ win/buildmsvc.bat
@@ -185,11 +185,24 @@
185 REM
186 REM NOTE: Attempt to create the build output directory, if necessary.
187 REM
188 IF DEFINED BUILDDIR (
189 IF DEFINED BUILDSUFFIX (
190 SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX%
 
 
 
 
 
 
 
 
 
 
 
 
 
191 )
192 ) ELSE (
193 SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX%
194 )
195
@@ -279,10 +292,27 @@
279 SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB%
280 :set_v110Sdk71A_lib_done
281 CALL :fn_UnsetVariable PFILES_SDK71A
282 SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1
283 GOTO :EOF
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
285 :fn_UnsetVariable
286 SETLOCAL
287 SET VALUE=%1
288 IF DEFINED VALUE (
289
--- win/buildmsvc.bat
+++ win/buildmsvc.bat
@@ -185,11 +185,24 @@
185 REM
186 REM NOTE: Attempt to create the build output directory, if necessary.
187 REM
188 IF DEFINED BUILDDIR (
189 IF DEFINED BUILDSUFFIX (
190 CALL :fn_FindVarInVar BUILDSUFFIX BUILDDIR
191
192 IF ERRORLEVEL 1 (
193 REM
194 REM NOTE: The build suffix is already present, do nothing.
195 REM
196 ) ELSE (
197 REM
198 REM NOTE: The build suffix is not present, add it now.
199 REM
200 SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX%
201 )
202
203 CALL :fn_ResetErrorLevel
204 )
205 ) ELSE (
206 SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX%
207 )
208
@@ -279,10 +292,27 @@
292 SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB%
293 :set_v110Sdk71A_lib_done
294 CALL :fn_UnsetVariable PFILES_SDK71A
295 SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1
296 GOTO :EOF
297
298 :fn_FindVarInVar
299 IF NOT DEFINED %1 GOTO :EOF
300 IF NOT DEFINED %2 GOTO :EOF
301 SETLOCAL
302 CALL :fn_UnsetVariable VALUE
303 SET __ECHO_CMD=ECHO %%%2%% ^^^| FIND /I "%%%1%%"
304 FOR /F "delims=" %%V IN ('%__ECHO_CMD%') DO (
305 SET VALUE=%%V
306 )
307 IF DEFINED VALUE (
308 CALL :fn_SetErrorLevel
309 ) ELSE (
310 CALL :fn_ResetErrorLevel
311 )
312 ENDLOCAL
313 GOTO :EOF
314
315 :fn_UnsetVariable
316 SETLOCAL
317 SET VALUE=%1
318 IF DEFINED VALUE (
319

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button