From ae771cb37dd1d09780d192feeebfa2c065e3458e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 29 Aug 2025 15:35:25 +0500 Subject: [PATCH] build-deps.cmd - bump swig version to 4.1.0 and use cmake 4.1.0 will match build-all.py and it's the first version to use cmake, so we can quickly build swig ourselves --- nix/build-all.py | 2 +- win/build-deps.cmd | 41 +++++++++++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/nix/build-all.py b/nix/build-all.py index bcf224f5ab..40fe22ba84 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -124,7 +124,7 @@ OCCT_VERSION = "7.8.1" BOOST_VERSION = "1.86.0" PCRE_VERSION = "8.41" LIBXML2_VERSION = "2.13.8" -SWIG_VERSION = "4.0.2" +SWIG_VERSION = "4.1.0" OPENCOLLADA_VERSION = "v1.6.68" HDF5_VERSION = "1.12.1" diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 555f194e68..37e2cf094e 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -537,21 +537,38 @@ IF EXIST "%INSTALL_DIR%\swigwin" ( goto :cgal ) -set SWIG_VERSION=3.0.12 -set DEPENDENCY_NAME=SWIG %SWIG_VERSION% -set DEPENDENCY_DIR=N/A -set SWIG_ZIP=swigwin-%SWIG_VERSION%.zip cd "%DEPS_DIR%" -call :DownloadFile https://github.com/aothms/swigwin-3.0.12/raw/refs/heads/main/swigwin-3.0.12.zip "%DEPS_DIR%" %SWIG_ZIP% + +:: Install bizon dependency for SWIG. +set DEPENDENCY_NAME=win_flex_bison +set WIN_FLEX_BIZON=win_flex_bison-2.5.25 +set WIN_FLEX_BIZON_ZIP=%WIN_FLEX_BIZON%.zip +call :DownloadFile https://github.com/lexxmark/winflexbison/releases/download/v2.5.25/%WIN_FLEX_BIZON_ZIP% "%DEPS_DIR%" %WIN_FLEX_BIZON_ZIP% IF NOT %ERRORLEVEL%==0 GOTO :Error -call :ExtractArchive %SWIG_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\swigwin" +echo test %WIN_FLEX_BIZON% +call :ExtractArchive %WIN_FLEX_BIZON_ZIP% "%DEPS_DIR%\%WIN_FLEX_BIZON%" "%DEPS_DIR%\%WIN_FLEX_BIZON%" IF NOT %ERRORLEVEL%==0 GOTO :Error -IF EXIST "%DEPS_DIR%\swigwin-%SWIG_VERSION%". ( - pushd "%DEPS_DIR%" - ren swigwin-%SWIG_VERSION% swigwin - popd -) -IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swigwin" /E /IS /MOVE /njh /njs + +set SWIG_VERSION=4.1.0 +set DEPENDENCY_NAME=SWIG %SWIG_VERSION% +set DEPENDENCY_DIR=%DEPS_DIR%\swig-%SWIG_VERSION% +set SWIG_ZIP=swigwin-%SWIG_VERSION%.zip +call :DownloadFile https://github.com/swig/swig/archive/refs/tags/v%SWIG_VERSION%.zip "%DEPS_DIR%" swig-%SWIG_VERSION%.zip +IF NOT %ERRORLEVEL%==0 GOTO :Error + +call :ExtractArchive swig-%SWIG_VERSION%.zip "%DEPS_DIR%" "%DEPENDENCY_DIR%" +IF NOT %ERRORLEVEL%==0 GOTO :Error +cd "%DEPENDENCY_DIR%" + +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\swigwin" ^ + -DWITH_PCRE=OFF ^ + -DBISON_EXECUTABLE="%DEPS_DIR%\%WIN_FLEX_BIZON%\win_bison.exe" +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\swig.sln" Release +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" Release +IF NOT %ERRORLEVEL%==0 GOTO :Error +robocopy "%INSTALL_DIR%\swigwin\bin" "%INSTALL_DIR%\swigwin" /move /e :cgal