@ECHO OFF
SETLOCAL
remrem
remSET MYDIR=%~dp0
SET BASEDIR=%MYDIR%..\..
remSET BUILDARCH=%1
remSET PROJECT_TYPE=%2
remSET PROJECT_DIR=%3
remSET BUILDDIR=%4
remSET INSTALLDIR=%5
remSET BUILDTYPE=%6
remSET VSVERSION=%7
remSET BUILDSTATIC=%8
IF [%7] == [] GOTO missingparams
SET PROJECT_DIR=%PROJECT_DIR:"=%
SET BUILDDIR=%BUILDDIR:"=%
SET INSTALLDIR=%INSTALLDIR:"=%
remCALL "%MYDIR%..\config\toolchain.cmd" >nul
IF "%TOOLCHAIN_NAME%" == "" (
ECHO. Toolchain not configured
EXIT /b 1
)
remSET GEN_PROJECT_TYPE="NMake Makefiles"
SET CMAKE_A_OPT=
IF "%PROJECT_TYPE%" == "vs" (
SET GEN_PROJECT_TYPE="%TOOLCHAIN_NAME%"
IF "%BUILDARCH%" == "x64" (
IF "%TOOLCHAIN_CMAKE_A_OPT%" == "" (
SET GEN_PROJECT_TYPE="%TOOLCHAIN_NAME% Win64"
) ELSE (
SET CMAKE_A_OPT=-A x64
)
) ELSE (
IF "%BUILDARCH%" == "arm" (
IF "%TOOLCHAIN_CMAKE_A_OPT%" == "" (
SET GEN_PROJECT_TYPE="%TOOLCHAIN_NAME% ARM"
) ELSE (
SET CMAKE_A_OPT=-A ARM
)
) ELSE (
IF "%BUILDARCH%" == "arm64" (
IF "%TOOLCHAIN_CMAKE_A_OPT%" == "" (
SET GEN_PROJECT_TYPE="%TOOLCHAIN_NAME% ARM64"
) ELSE (
SET CMAKE_A_OPT=-A ARM64
)
) ELSE (
IF "%TOOLCHAIN_CMAKE_A_OPT%" == "" (
SET CMAKE_A_OPT=
) ELSE (
SET CMAKE_A_OPT=-A Win32
)
)
)
)
)
remSET SKIP_PYTHON=^-DSKIP_PYTHON_WRAPPER^=0
IF "%BUILDTYPE%" == "Debug" (
SET SKIP_PYTHON=^-DSKIP_PYTHON_WRAPPER^=1
)
remSET GEN_SHARED_LIBS=^-DBUILD_SHARED_LIBS^=1
IF "%BUILDSTATIC%" == "static" (
SET GEN_SHARED_LIBS=^-DBUILD_SHARED_LIBS^=0
)
remIF NOT EXIST "%INSTALLDIR%" MKDIR "%INSTALLDIR%"
IF NOT EXIST "%BUILDDIR%" MKDIR "%BUILDDIR%"
remECHO. --------------------------------------
ECHO. Generating cmake project:
ECHO. Architecture = %BUILDARCH%
ECHO. Project type = %GEN_PROJECT_TYPE%
ECHO. Cmake ARCH = %CMAKE_A_OPT%
ECHO. Project = "%PROJECT_DIR%"
ECHO. Target = "%BUILDDIR%"
ECHO. Install = "%INSTALLDIR%"
ECHO. Build type = %BUILDTYPE%
ECHO. Toolchain = %TOOLCHAIN_NAME%
ECHO. --------------------------------------
ECHO.
remCD "%BUILDDIR%"
%CMAKE% ^
-G %GEN_PROJECT_TYPE% %CMAKE_A_OPT% ^
-DCMAKE_BUILD_TYPE=%BUILDTYPE% ^
-DCMAKE_USER_MAKE_RULES_OVERRIDE="%MYDIR%c-flag-overrides.cmake" ^
-DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX="%MYDIR%cxx-flag-overrides.cmake" ^
-DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" ^
%SKIP_PYTHON% ^
%GEN_SHARED_LIBS% ^
%CMWAKE_WIN64% ^
%PROJECT_DIR%
EXIT /b %errorlevel%
:missingparams
ECHO.%~dp0 requires 7 parameters
exit /b 99