Homebrew no longer publishes bottles for the macos-14 runner, so
`brew install qt` in build_osx.yml compiles Qt and QtWebEngine from source
and fails in the dependency step before any IfcOpenShell code is reached.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
6dbc4e28d raised the minimum CGAL to 5.4. The Windows dependency cache in
build-outputs is keyed on the install directory name and only ever adds to
it, so the unversioned `cgal` directory kept serving CGAL 5.2.3 and the
Windows build has failed at configure since:
Could not find a configuration file for package "CGAL" that is compatible
... cgal/lib/cmake/CGAL/CGALConfig.cmake, version: 5.2.3
Name the directory `cgal-5.5.5`, as the TODO already suggested, and record
it in the deps cache like the other installers do.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ae2f27c3a replaced the global include_directories(${Boost_INCLUDE_DIRS})
with a Boost::headers target appended to Boost_LIBRARIES. The wasm branch of
IfcParse's link line never included Boost_LIBRARIES, so it lost the include
path and the Pyodide build has failed since with
src/ifcparse/exception.h:25:10: fatal error: 'boost/lexical_cast.hpp' file not found
Nobody noticed because no Pyodide build had run since 2026-08-28.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Fixes the following compilation error when building on MSVC with `USE_MMAP`.
```
parse.cpp(2202,23): error C2338: static_assert failed: 'Default instance_streamer requires a pushed sequential reader'
```
Apparently, when class has `IFC_PARSE_API`, compiler is very eager to instantiate all possible templates leading to this error. We already have explicit instantiation with export for the ones we actually use (e.g. `template class IFC_PARSE_API ifcopenshell::instance_streamer<file_reader<full_buffer_impl>>;`), so it should be no-op.
It also didn't propagate cgal includes for non-cmake configs.
So it means since roughly 0555523, when `CGAL_INCLUDE_DIR` was dropped from global includes, we only supported cmake configs discovery for cgal, so it's a good evidence to drop non-cmake config discovery in general.
Tested locally that build succeeds with all other components being
header-only or unused by now.
`regex` is only needed for Boost <1.76, see
https://www.boost.org/releases/1.76.0/
Replacing it with appending `Boost::headers` to `Boost_LIBRARIES` - this target is constructed both for Boost config and FindBoost and just references `Boost_INCLUDE_DIRS`, so it will automatically propagate to all `Boost_LIBRARIES` consumers. This is only needed for FindBoost users though.
1.14.0 fixes the use of deprecated `pgk_resources` warning (https://github.com/anaconda/anaconda-client/releases/tag/1.14.0). Though bumping to the latest version.
Warning:
```
/home/runner/micromamba/envs/test-env/lib/python3.11/site-packages/binstar_client/__init__.py:15: UserWarning:
pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources
package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
```
`IFCGEOM_SCHEMA_LIBRARIES` Is never set after we moved code to `src/ifcgeom/mapping` (b7a919925)
`SCHEMA_AGNOSTIC_H_FILES` is set but only inside `src/ifcgeom/mapping` and already handled there.
Route all polyline tools through a single PolylineOperator.cleanup that tears down the decorators, polyline, and raycast cache, and uninstall ProductDecorator unconditionally since it is idempotent.
Generated with the assistance of an AI coding tool.
- use draw handler to move the expensive synchronous GPU readback
out of the mouse-event loop.
- restore GPU state (depth, blend, face culling) around the offscreen