Add install-/build-ifcopenshell.py, deprecate corresponding .bat files

Mainly drop-in replacement for `build-ifcopenshell.bat` with `--help`, kw args and args validation, but there's a small caveat.

Previously it was possible to pass args to the underlying build tool as simple positionals - e.g. `build-ifcopenshell vs2022-x64 Release /p:Foo=bar`.
This behaviour is disabled now, because it doesn't allow validating provided args - it's impossible to tell whether `--config Release` is meant to be passed to msbuild or was meant as `--build-cfg Release` for `build-ifcopenshell`.

But it's still possible to pass args to msbuild by using `--` - `python build-ifcopenshell.py vs2022-x64 Release -- /p:Foo=bar`

`install-ifcopenshell.py` is now just a small wrapper passing `--target INSTALL` arg.
This commit is contained in:
Andrej730
2026-09-11 15:20:12 +05:00
parent 322de0b56b
commit 51a86cdd86
9 changed files with 307 additions and 29 deletions
+5
View File
@@ -57,6 +57,11 @@ IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS
call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%"
echo.
call cecho.cmd 0 12 "WARNING: install-ifcopenshell.bat is deprecated since 11 Sep 2026 and will be removed very shortly."
call cecho.cmd 0 12 "Use `python install-ifcopenshell.py` instead. It's intended to be a drop-in replacement, so exactly the same args apply,"
call cecho.cmd 0 12 "except MSBuild args now need to be passed after `"--`", e.g. `python install-ifcopenshell.py vs2022-x64 -- /p:Foo=bar`."
echo.
call cecho.cmd 0 13 "Installing %VS_PLATFORM% %BUILD_CFG% %PROJECT_NAME%"
set MSBUILD_MULTIPROC=/m /p:CL_MPCount=%IFCOS_NUM_BUILD_PROCS% /p:UseMultiToolTask=true /p:EnforceProcessCountAcrossBuilds=true
cmake --build ..\%BUILD_DIR% --target INSTALL -- /nologo %MSBUILD_MULTIPROC% /p:Platform=%VS_PLATFORM% ^