python_tests/_build/01_generate_config.bat
@echo off
rem Configuration variable files generator script.
setlocal
if %IMPL_MODE%0 NEQ 0 goto IMPL
call "%%~dp0__init__/__init__.bat" || exit /b
call "%%TACKLELIB_PROJECT_ROOT%%/__init__/declare_builtins.bat" %%0 %%* || exit /b
for %%i in (TESTS_PROJECT_ROOT PROJECT_LOG_ROOT CONTOOLS_ROOT CONTOOLS_UTILITIES_BIN_ROOT) do (
if not defined %%i (
echo.%~nx0: error: `%%i` variable is not defined.
exit /b 255
) >&2
)
call "%%CONTOOLS_ROOT%%/build/init_project_log.bat" "%%?~n0%%" || exit /b
call "%%CONTOOLS_ROOT%%/exec/exec_callf_prefix.bat" -- %%* || exit /b
exit /b 0
:IMPL
rem CAUTION: We must to reinit the builtin variables in case if `IMPL_MODE` was already setup outside.
call "%%CONTOOLS_ROOT%%/std/declare_builtins.bat" %%0 %%* || exit /b
call :CMDINT "%%CONTOOLS_ROOT%%/build/check_config_expiration.bat" -optional_compare ^
"%%CMAKE_CONFIG_VARS_SYSTEM_FILE_IN%%" "%%CMAKE_CONFIG_VARS_SYSTEM_FILE%%" || exit /b
set /A NEST_LVL+=1
call :MAIN %%*
set LASTERROR=%ERRORLEVEL%
set /A NEST_LVL-=1
exit /b %LASTERROR%
:MAIN
set "CMDLINE_SYSTEM_FILE_IN=%TESTS_PROJECT_INPUT_CONFIG_ROOT%\_build\%?~n0%\config.system%?~x0%.in"
for %%i in ("%CMDLINE_SYSTEM_FILE_IN%") do (
set "CMDLINE_FILE_IN=%%i"
call :GENERATE || exit /b
)
set "CMD_LIST_FILE_IN=%TESTS_PROJECT_INPUT_CONFIG_ROOT%\_build\%?~n0%\cmd_list%?~x0%.in"
rem load command line from file
for /F "usebackq eol=# tokens=1,* delims=|" %%i in ("%CMD_LIST_FILE_IN%") do (
set "CMD_PATH=%%i"
set "CMD_PARAMS=%%j"
call :PROCESS_COMMAND
)
exit /b
:GENERATE
rem for safe parse
setlocal ENABLEDELAYEDEXPANSION
rem load command line from file
set "CMAKE_CMD_LINE="
for /F "usebackq eol=# tokens=* delims=" %%i in (%CMDLINE_FILE_IN%) do (
if defined CMAKE_CMD_LINE (
set "CMAKE_CMD_LINE=!CMAKE_CMD_LINE! %%i"
) else (
set "CMAKE_CMD_LINE=%%i"
)
)
rem safe variable return over endlocal with delayed expansion
for /F "eol=# tokens=* delims=" %%i in ("!CMAKE_CMD_LINE!") do (
endlocal
set "CMAKE_CMD_LINE=%%i"
)
call :CMD cmake %CMAKE_CMD_LINE%
exit /b
:PROCESS_COMMAND
echo.^>"%TESTS_PROJECT_ROOT%/%CMD_PATH%" %CMD_PARAMS%
call "%%TESTS_PROJECT_ROOT%%/%%CMD_PATH%%" %CMD_PARAMS% || exit /b
echo.
exit /b 0
:CMD
echo.^>%*
echo.
(
%*
)
exit /b
:CMDINT
if %INIT_VERBOSE%0 NEQ 0 (
echo.^>%*
echo.
)
(
%*
)
exit /b