Fossil SCM
Enhance build suffix handling in the MSVC build tool.
Commit
4a8ca98f2a67888c2639b6abc84a0298c2928be90cd2e02512b212da63868bed
Parent
0b9bfc4f7d5ab08…
1 file changed
+31
-1
+31
-1
| --- win/buildmsvc.bat | ||
| +++ win/buildmsvc.bat | ||
| @@ -185,11 +185,24 @@ | ||
| 185 | 185 | REM |
| 186 | 186 | REM NOTE: Attempt to create the build output directory, if necessary. |
| 187 | 187 | REM |
| 188 | 188 | IF DEFINED BUILDDIR ( |
| 189 | 189 | 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 | |
| 191 | 204 | ) |
| 192 | 205 | ) ELSE ( |
| 193 | 206 | SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX% |
| 194 | 207 | ) |
| 195 | 208 | |
| @@ -279,10 +292,27 @@ | ||
| 279 | 292 | SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB% |
| 280 | 293 | :set_v110Sdk71A_lib_done |
| 281 | 294 | CALL :fn_UnsetVariable PFILES_SDK71A |
| 282 | 295 | SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1 |
| 283 | 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 | |
| 284 | 314 | |
| 285 | 315 | :fn_UnsetVariable |
| 286 | 316 | SETLOCAL |
| 287 | 317 | SET VALUE=%1 |
| 288 | 318 | IF DEFINED VALUE ( |
| 289 | 319 |
| --- 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 |