mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-30 08:33:10 +00:00
ci: GCC 11 portability + BUNDLE DESTINATION "." on macOS
Linux (Rocky manylinux, GCC 11): - WgpuAreaMeasurement.h: include <cstddef> directly. GCC 11 does not transitively pull `size_t` through <vector>, so triangleCount()'s return type fails to parse. - WgpuViewportWindow.cpp:meshLocalToGlobal: use static_cast<double>(...) instead of double(mesh_local[N]) when constructing the Eigen::Vector4d. The latter triggers GCC 11's most-vexing-parse: it reads `Vector4d local(double(mesh_local[0]), double(mesh_local[1]), ...)` as a function declaration of `local` taking parameters `double mesh_local[0]` etc., colliding with the outer `mesh_local` parameter and failing with "redefinition of double* mesh_local". macOS arm64: - IfcViewerWgpuMinimal + BonsaiViewer install rules: change `BUNDLE DESTINATION bin` → `BUNDLE DESTINATION .`. Qt's deploy generator emits `macdeployqt <Target>.app` with no path prefix, which only resolves when the bundle sits at the install-prefix root. `BUNDLE DESTINATION bin` put it at `<prefix>/bin/Target.app` and the install/strip step failed with "Could not find app bundle". Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -133,11 +133,12 @@ target_link_libraries(BonsaiViewer PRIVATE
|
||||
Qt${QT_VERSION}::Widgets
|
||||
)
|
||||
|
||||
# MACOSX_BUNDLE targets require BUNDLE DESTINATION at install time even when
|
||||
# nobody runs `make install` (CMake validates the rule at configure).
|
||||
# BUNDLE DESTINATION must be "." (install-prefix root) on macOS — Qt's
|
||||
# deploy generator emits `macdeployqt BonsaiViewer.app` (no path
|
||||
# prefix), which resolves only when the .app sits at the install root.
|
||||
install(TARGETS BonsaiViewer
|
||||
EXPORT ${IFCOPENSHELL_EXPORT_TARGETS}
|
||||
RUNTIME DESTINATION bin
|
||||
BUNDLE DESTINATION bin
|
||||
BUNDLE DESTINATION .
|
||||
)
|
||||
ifcopenshell_deploy_qt_runtime(BonsaiViewer)
|
||||
|
||||
Reference in New Issue
Block a user