Skip to content

Commit 5aa7ba6

Browse files
committed
IfcConvert - fix Windows builds stuck on 0.8.0 version
1 parent e3464b3 commit 5aa7ba6

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

win/build-all-win.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@ def run(command: list[str]) -> None:
3030
subprocess.check_call(command) # nosec B603
3131

3232

33+
def set_env(var_name: str, value: str) -> tuple[str, str | None]:
34+
"""
35+
:return: Tuple of ``(var_name, old_value)`` to be passed to ``restore_env``.
36+
"""
37+
old_value = os.getenv(var_name)
38+
os.environ[var_name] = value
39+
return var_name, old_value
40+
41+
42+
def restore_env(var_name: str, old_value: str | None) -> None:
43+
if old_value is None:
44+
del os.environ[var_name]
45+
else:
46+
os.environ[var_name] = old_value
47+
48+
3349
def build() -> None:
3450
for python_version in PYTHON_VERSIONS:
3551
os.environ["PYTHON_VERSION"] = python_version
@@ -40,16 +56,16 @@ def build() -> None:
4056
text=True,
4157
input="y\n",
4258
)
59+
OLD_ADD_COMMIT_SHA = set_env("ADD_COMMIT_SHA", "ON")
4360
run(
4461
[
4562
str(REPO_WIN / "run-cmake.bat"),
4663
"vs2022-x64",
4764
"-DENABLE_BUILD_OPTIMIZATIONS=ON",
4865
"-DGLTF_SUPPORT=ON",
49-
"-DADD_COMMIT_SHA=ON",
50-
"-DVERSION_OVERRIDE=ON",
5166
]
5267
)
68+
restore_env(*OLD_ADD_COMMIT_SHA)
5369
run([str(REPO_WIN / "install-ifcopenshell.bat"), "vs2022-x64", "Release"])
5470

5571

win/run-cmake.bat

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
:: Example usage:
2121
:: run-cmake.bat vs2022-x64
2222
:: run-cmake.bat vs2022-x64 -DGLTF_SUPPORT=ON -DHDF5_SUPPORT=OFF
23+
::
24+
:: Used environment variables:
25+
:: - `ADD_COMMIT_SHA` - if defined then `ADD_COMMIT_SHA` and `VERSION_OVERRIDE` cmake args will be set to `ON`.
2326

2427

2528
@if not defined ECHO_ON ( echo off )
@@ -105,7 +108,13 @@ set PYTHON_LIBRARY=%PYTHONHOME%\libs\python%PY_VER_MAJOR_MINOR%.lib
105108
:: we can remove it later.
106109
if not defined SWIG_INSTALL_DIR set SWIG_INSTALL_DIR=%INSTALL_DIR%\swigwin
107110
set JSON_INCLUDE_DIR=%INSTALL_DIR%\json
108-
if not defined ADD_COMMIT_SHA set ADD_COMMIT_SHA=Off
111+
if defined ADD_COMMIT_SHA (
112+
set ADD_COMMIT_SHA=ON
113+
set VERSION_OVERRIDE=ON
114+
) else (
115+
set ADD_COMMIT_SHA=OFF
116+
set VERSION_OVERRIDE=OFF
117+
)
109118

110119
set CGAL_INSTALL_DIR=%INSTALL_DIR%\cgal
111120
set GMP_INSTALL_DIR=%INSTALL_DIR%\mpir
@@ -184,13 +193,15 @@ IF NOT "%VS_TOOLSET_HOST%"=="" (
184193
-DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" ^
185194
-DWITH_ROCKSDB=On -DWITH_ZSTD=On ^
186195
-DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ^
187-
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% %ARGUMENTS%
196+
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% -DVERSION_OVERRIDE=%VERSION_OVERRIDE% ^
197+
%ARGUMENTS%
188198
) ELSE (
189199
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% %ARCH_OPTION% ^
190200
-DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" ^
191201
-DWITH_ROCKSDB=On -DWITH_ZSTD=On ^
192202
-DCMAKE_PREFIX_PATH="%CMAKE_PREFIX_PATH%" ^
193-
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% %ARGUMENTS%
203+
-DADD_COMMIT_SHA=%ADD_COMMIT_SHA% -DVERSION_OVERRIDE=%VERSION_OVERRIDE% ^
204+
%ARGUMENTS%
194205
)
195206

196207
IF NOT %ERRORLEVEL%==0 GOTO :Error

0 commit comments

Comments
 (0)