Commit Graph

353 Commits

Author SHA1 Message Date
Andrej730 97caf8033c build-deps: note about mpfr/mpir missing some configurations 2026-09-09 16:43:04 +05:00
Andrej730 fe8753bb17 build-deps: document target arg in BuildSolution 2026-09-09 16:43:04 +05:00
Andrej730 2be991fff4 build-deps: remove USE_STATIC_RUNTIME option in mpfr/mpir
Typically we always avoid using static runtime as it causes issues when
binaries are interacting.
2026-09-09 16:43:04 +05:00
Andrej730 0e9dc6a87f buld-deps/proj: fix use of deprecated variables
Resolves the warnings below:
```

CMake Deprecation Warning at CMakeLists.txt:207 (message):
  Use SQLite3_INCLUDE_DIR instead of SQLITE3_INCLUDE_DIR

CMake Deprecation Warning at CMakeLists.txt:211 (message):
  Use SQLite3_LIBRARY instead of SQLITE3_LIBRARY
```
2026-09-09 16:43:04 +05:00
Andrej730 cd9cc8cf2f build-deps/proj: use CMAKE_PREFIX_PATH instead of modifying PATH 2026-09-09 16:43:04 +05:00
Andrej730 94f724da13 build-deps: remove redundant GEN_SHORTHAND check
`vs-cfg` always sets it, so it's always defined.
2026-09-09 16:43:04 +05:00
Andrej730 843557b18d build-deps: remove unused PY_VER_MAJOR_MINOR var
It was removed in 0a5388f, but then reintroduced in b25c24a - looking at the code, there was no use for it added, so I guess it was just an accident.
2026-09-09 16:43:04 +05:00
Andrej730 9c311c19de win\readme: drop stale PY_VER_MAJOR_MINOR reference (0a5388f38) 2026-09-09 16:43:04 +05:00
Andrej730 ddcc9f4a0a build-type-cfg.cmd: drop unused POSTFIX_ variables
`POSTFIX_D` unused since ICU was eliminated as a dependency (0b2bd5d), other two were never used.
2026-09-09 16:43:04 +05:00
Andrej730 84daa22400 win: remove set-python-to-path.bat
It was introduced a (very) long time ago (c7bf03e), was barely changed since then and seems unused by now.
Apparently it was used mainly to get installation's Python to PATH (`set PATH=%PYTHONHOME%;%PATH%`). It was also setting and env variables based on the cache as a side effect.
If needed, we'll be able reintroduce it later, delegating most of the logic to Python.
2026-09-09 16:43:04 +05:00
Andrej730 89fe51fbb2 win: remove redundant TARGET_ARCH variable
`TARGET_ARCH` has exactly the same values as `VS_PLATFORM` - "x64", "ARM", "ARM64") except it has `x86` instead of `Win32`, but this value is never actually used, so both variables end up using interchangeably, making code harder to reason about - you needed to remember that they're exactly the same except the case when the variable is passed directly to VS (either through `cmake -A` or some `msbuild` command), then user must use `VS_PLATFORM`. So we might just use one variable always.
2026-09-09 16:43:04 +05:00
Andrej730 f2a6d7859b build-deps: drop VS 2008 leftovers (6a8d813) 2026-09-09 16:43:04 +05:00
Andrej730 d45d1ca0a6 win: remove Windows XP related code 2026-09-09 16:43:04 +05:00
Andrej730 2a49619e2a vs-cfg: drop unused VCPROJ_FILE_EXT
It was used in build-deps.cmd, but then was superseded by cmake calls (c6220b7)
2026-09-09 16:43:04 +05:00
Andrej730 c4aca06cb5 win: bump required cmake to 3.21.0 to match cmake_minimum_required 2026-09-09 16:43:04 +05:00
Andrej730 20d56efdfc win: remove outdated msys2 scripts
They were very outdated and if we'll need msys2 support, we'll be able to introduce it later in our Python scripts.
2026-09-09 16:43:04 +05:00
Andrej730 7cfb146717 vs-cfg: remove redundant where cl check
`START` is set to `0` for "amd64" / "x64" and `1` in all other cases, effectively just skipping `GENERATORS[0]` in case when "amd64" or "x64" is present.
Which is now useless, since `GENERATORS[0]` doesn't exist anymore.
2026-09-09 16:43:04 +05:00
Andrej730 dc9218e9eb vs-cfg: remove unused Win64 code
We don't have any generators with `Win64` suffix (they were removed 36f51e1), so this code was unreachable.
2026-09-09 16:43:04 +05:00
Andrej730 d399581f11 vs-cfg: remove VS_HOST / VS_TOOLSET_HOST
They were added awhile ago in 67666ed for overcoming some win32 issues, which is not around anymore.
And now `VS_HOST` is never set (and therefore `VS_TOOLSET_HOST` is always empty too) and likely to be never used.
2026-09-09 16:43:04 +05:00
Andrej730 21691616fd vs-cfg: move examples next to debug prints 2026-09-09 16:43:04 +05:00
Andrej730 995f98d5fe vs-cfg: add support for missing toolsets in gen shortcut 2026-09-09 16:43:04 +05:00
Thomas Krijnen 99f1051d18 Run black 2026-09-02 13:48:31 +02:00
DesertSpringsCivil 65ce0f71c4 win: collect underscore-prefixed runtime plugin DLLs in build artifacts
Runtime plugins are canonically named `ifcopenshell_<kind>_<name>` (decorated_basename() in src/plugin/plugin.cpp, and the OUTPUT_NAME properties of the plugin targets), but the archive collection filtered on the dotted `ifcopenshell.` prefix, which matches only the core shared libraries. Every load-by-name plugin was therefore silently dropped from every win64 / win-arm64 zip.

Accept both prefixes, and extend the geometry-writer exclusion to the underscore form so the per-schema writers keep their existing Python-package-only treatment.

Fixes #9301
2026-09-01 19:51:34 +02:00
Thomas Krijnen 1a03fd7df1 Unify python versions across win and nix #9313 2026-08-29 13:34:01 +02:00
Andrej730 ab8567fdca build-deps: point to the existing remove_tr1.patch
Tested that it applies cleanly even though commit is outdated.
2026-08-27 17:07:21 +05:00
Andrej730 ec0e0ab3ff run-cmake.bat: revert special handling for USE_CCACHE
Since it's part of normal cmake options and no need to alter PATH to disable ccache.
2026-08-27 16:54:01 +05:00
Andrej730 3251c1b225 Enable ccache explicitly for builds #9359
Since it's now off by default
2026-08-27 16:54:01 +05:00
Richard Brice 05ba93ab61 Modifications to build C++ with Visual Studio 2026 and the v145 toolset. (#9359)
* Modifications to build C++ with Visual Studio 2026 and the v145 toolset.

* Fixes linker settings for rocksdb for Debug and Release builds

* module is a C++ 20 keyword. Explicitly stating namespace allows cpp20 projects to build against the library

* Fixes crash when initializing an object with the initialize function when some of the attributes are empty, {}, or omitted, std::nullopt

* cleanup for vs2026 v145 toolset per @aothms review

* Fixes bug, IfcCurveSegment.setStartLength was setSegmentLength in alignment_helper.cpp

* Bumps boost to 1.92
2026-08-26 09:10:41 -07:00
Andrej730 3d05ccbd59 gitattributes: ensure platform dependent files are stored using correct line endings 2026-08-06 19:49:38 +05:00
Dion Moult de7520418b Build the Bonsai Viewer in CI with the Autodesk connector bundled
Compile the Bonsai Viewer as part of the Linux and Windows binary builds,
and ship the Autodesk connector alongside the viewer executable.

Qt6 dependencies:
- The viewer links Qt6::Svg for runtime icon tinting. Svg is a separate
  base-Qt archive, so aqt now installs "qtbase qtsvg" (plus icu on Linux)
  rather than qtbase alone, on both Linux and Windows.
- Qt6::CorePrivate is exposed differently across Qt versions: Qt 6.8 ships
  the target inside Qt6Core, while Qt 6.10 provides it only as a separate
  CorePrivate config package. The viewer CMakeLists requests it via
  OPTIONAL_COMPONENTS so it resolves on both.
- When cross-compiling Windows ARM64, windeployqt runs from the host x64
  Qt, so qtsvg is installed into the host Qt as well.

Windows build:
- build-all-win.py passed -DBUILD_IFCVIEWER, a flag since renamed to
  BUILD_BONSAIVIEWER, so the Windows build compiled no viewer at all. It
  now passes -DBUILD_BONSAIVIEWER.
- The Autodesk connector is bundled under connectors/ next to
  BonsaiViewer.exe in the packaged archive, mirroring the Linux builds.
- The Windows workflow builds the connector (PyInstaller) before the main
  build so it is available to bundle.

Connector bundling:
- The Linux rocky workflows build the connector and bundle it into the
  BonsaiViewer archive; the Windows build now does the same.

Generated with the assistance of an AI coding tool.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 16:34:19 +10:00
Thomas Krijnen da5ebf172e Delete 7za.exe from repo 2026-05-09 21:05:08 +02:00
Thomas Krijnen c1173dfc78 Additional plug-in host to try and fix arm64 build 2026-05-09 21:04:32 +02:00
Thomas Krijnen fde502daa1 svgfill as plug-in 2026-05-09 21:03:55 +02:00
Thomas Krijnen 12935c83de Silent extraction 2026-05-08 20:31:29 +02:00
Thomas Krijnen e7249fe934 BUILD_IFCVIEWER=ON 2026-05-08 20:10:19 +02:00
Thomas Krijnen cf257aa20a check_installation for qt6 - was not aware of this bit 2026-05-08 19:08:08 +02:00
Thomas Krijnen 7d0b6f6fd8 Examples=Off for now 2026-05-08 17:59:38 +02:00
Thomas Krijnen 554c7174e3 Backspace everything regarding HDF5 2026-05-08 16:20:26 +02:00
Thomas Krijnen bd436765bf Win packaging changes 2026-05-08 14:05:17 +02:00
Thomas Krijnen 6ad5fbb27e Add qt6 to win build scripts using an 3rd party install script 2026-05-07 22:32:53 +02:00
Thomas Krijnen 91ae631c7d Merge remote-tracking branch 'origin/v0.8.0' into datamodel-v1.0 2026-04-18 20:15:28 +02:00
Thomas Krijnen a19d398c78 Vibe code an implementation that uses manifold 2026-04-07 15:47:58 +02:00
tsomanna_QCOM 18c035ea77 Fix Windows ARM64 Python Bindings Issue 2026-03-18 08:44:34 +01:00
tsomanna_QCOM e84142894e Add Support for IfcOpenShell on Win ARM64 2026-03-12 20:29:10 +01:00
tsomanna_QCOM b38a0dce1f Add Support for IfcOpenShell on Win ARM64 2026-03-12 20:29:10 +01:00
tsomanna_QCOM ae253f5e2a Add Support for IfcOpenShell on Win ARM64 2026-03-12 20:29:10 +01:00
tsomanna_QCOM b25c24a007 Add Support for IfcOpenShell on Win ARM64 2026-03-12 20:29:10 +01:00
Andrej730 1c5b825d8e build-all-win - fix missing compression for Python zip archives
Same as 5ebd425, should resolve https://github.com/ifcopenshell/ifcopenshell/issues/7404
2026-02-27 12:09:34 +05:00
Andrej730 ff3933a117 Remove some unused imports 2026-02-26 17:12:46 +05:00
Andrej730 5ebd4256a1 build-all-win.py - fix missing compression
Resulting in larger zip files for builds, reported in 7404
2026-02-26 17:01:55 +05:00