first commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem Build script for mpq_extractor GDExtension on Windows.
|
||||
rem Requires Visual Studio 2022 with the C++ workload installed.
|
||||
|
||||
set BUILD_TYPE=%1
|
||||
if "%BUILD_TYPE%"=="" set BUILD_TYPE=Release
|
||||
|
||||
set SCRIPT_DIR=%~dp0
|
||||
if "%SCRIPT_DIR:~-1%"=="\" set SCRIPT_DIR=%SCRIPT_DIR:~0,-1%
|
||||
set BUILD_DIR=%SCRIPT_DIR%\build
|
||||
|
||||
echo [mpq_extractor] BUILD_TYPE=%BUILD_TYPE%
|
||||
|
||||
rem Locate cmake.exe, first from PATH and then from common VS2022 installs.
|
||||
set VS_CMAKE=
|
||||
for /f "delims=" %%i in ('where cmake 2^>nul') do (
|
||||
set VS_CMAKE=%%i
|
||||
goto :cmake_found
|
||||
)
|
||||
|
||||
set VSCMAKE_GUESS=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
|
||||
if exist "%VSCMAKE_GUESS%" (
|
||||
set VS_CMAKE=%VSCMAKE_GUESS%
|
||||
goto :cmake_found
|
||||
)
|
||||
|
||||
set VSCMAKE_GUESS=C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
|
||||
if exist "%VSCMAKE_GUESS%" (
|
||||
set VS_CMAKE=%VSCMAKE_GUESS%
|
||||
goto :cmake_found
|
||||
)
|
||||
|
||||
set VSCMAKE_GUESS=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
|
||||
if exist "%VSCMAKE_GUESS%" (
|
||||
set VS_CMAKE=%VSCMAKE_GUESS%
|
||||
goto :cmake_found
|
||||
)
|
||||
|
||||
echo ERROR: cmake.exe not found.
|
||||
echo Install CMake or add it to PATH.
|
||||
exit /b 1
|
||||
|
||||
:cmake_found
|
||||
echo [mpq_extractor] cmake: %VS_CMAKE%
|
||||
|
||||
rem Initialize submodules when needed.
|
||||
if not exist "%SCRIPT_DIR%\..\thirdparty\godot-cpp\CMakeLists.txt" (
|
||||
echo [mpq_extractor] Initializing submodules...
|
||||
cd /d "%SCRIPT_DIR%\.."
|
||||
git submodule update --init --recursive
|
||||
if errorlevel 1 (
|
||||
echo ERROR: git submodule update failed.
|
||||
exit /b 1
|
||||
)
|
||||
cd /d "%SCRIPT_DIR%"
|
||||
)
|
||||
|
||||
rem Configure.
|
||||
"%VS_CMAKE%" -S "%SCRIPT_DIR%" -B "%BUILD_DIR%" -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=%BUILD_TYPE%
|
||||
if errorlevel 1 (
|
||||
echo ERROR: cmake configure failed.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
rem Build.
|
||||
"%VS_CMAKE%" --build "%BUILD_DIR%" --config %BUILD_TYPE% --parallel
|
||||
if errorlevel 1 (
|
||||
echo ERROR: cmake build failed.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [mpq_extractor] Done. DLL is in:
|
||||
echo %SCRIPT_DIR%\..\addons\mpq_extractor\bin\
|
||||
|
||||
endlocal
|
||||
Reference in New Issue
Block a user