56 lines
1.5 KiB
Batchfile
56 lines
1.5 KiB
Batchfile
:: Requires 1 parameter == GENERATOR
|
|
@echo off
|
|
setlocal
|
|
|
|
:: Set path
|
|
set "BUILD_BASE_DIR=%~dp0" :: Use the directory where the script is located
|
|
set "CMAKELIST_DIR=..\..\cmake"
|
|
|
|
if "%~1"=="" (
|
|
echo No generator specified as first parameter
|
|
exit /b 1
|
|
)
|
|
set "GENERATOR=%~1"
|
|
|
|
:: Check if a user-defined CMAKE_PATH is set and prioritize it
|
|
if defined CMAKE_PATH (
|
|
set "CMAKE_EXECUTABLE=%CMAKE_PATH%\cmake.exe"
|
|
echo Using user-defined cmake at %CMAKE_PATH%
|
|
) else (
|
|
:: Attempt to find cmake in the system PATH
|
|
where cmake >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
:: Use the default standard cmake installation directory if not found in PATH
|
|
set "CMAKE_PATH=C:\Program Files\CMake\bin"
|
|
echo CMake not in system PATH => using default CMAKE_PATH=%CMAKE_PATH%
|
|
set "CMAKE_EXECUTABLE=%CMAKE_PATH%\cmake.exe"
|
|
) else (
|
|
set "CMAKE_EXECUTABLE=cmake"
|
|
echo CMake found in system PATH.
|
|
)
|
|
)
|
|
|
|
:: Set the build directory to a subdirectory named after the generator
|
|
set "BUILD_DIR=%BUILD_BASE_DIR%\%GENERATOR%"
|
|
|
|
:: Create the build directory if it doesn't exist
|
|
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
|
|
|
|
:: Run CMake to configure the project and generate the solution
|
|
pushd "%BUILD_DIR%"
|
|
"%CMAKE_EXECUTABLE%" -G "%GENERATOR%" "%CMAKELIST_DIR%"
|
|
if %ERRORLEVEL% neq 0 goto :error
|
|
|
|
:: If successful, end script
|
|
echo Build configuration successful for %GENERATOR%.
|
|
goto :end
|
|
|
|
:error
|
|
echo Failed to configure build for %GENERATOR%.
|
|
exit /b 1
|
|
|
|
:end
|
|
popd
|
|
endlocal
|
|
@echo on
|