Even more plug-in workarounds

This commit is contained in:
Thomas Krijnen
2026-07-31 07:47:34 +02:00
parent 3d1e157ff1
commit d3ca116534
3 changed files with 12 additions and 5 deletions
+2
View File
@@ -1,5 +1,7 @@
@PACKAGE_INIT@ @PACKAGE_INIT@
set_and_check(IFCOPENSHELL_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
# Variable to inspect installed schema versions. # Variable to inspect installed schema versions.
set(IFCOPENSHELL_SCHEMA_VERSIONS @SCHEMA_VERSIONS@) set(IFCOPENSHELL_SCHEMA_VERSIONS @SCHEMA_VERSIONS@)
+1
View File
@@ -17,6 +17,7 @@ configure_package_config_file(
${CONFIG_PACKAGE_INPUT} ${CONFIG_PACKAGE_INPUT}
${CONFIG_PACKAGE_OUTPUT} ${CONFIG_PACKAGE_OUTPUT}
INSTALL_DESTINATION ${CONFIG_PACKAGE_LOCATION} INSTALL_DESTINATION ${CONFIG_PACKAGE_LOCATION}
PATH_VARS CMAKE_INSTALL_LIBDIR
) )
install(FILES "${CONFIG_PACKAGE_OUTPUT}" "${CONFIG_VERSION_OUTPUT}" DESTINATION ${CONFIG_PACKAGE_LOCATION}) install(FILES "${CONFIG_PACKAGE_OUTPUT}" "${CONFIG_VERSION_OUTPUT}" DESTINATION ${CONFIG_PACKAGE_LOCATION})
+9 -5
View File
@@ -225,11 +225,15 @@ if(schema_libraries OR kernel_libraries OR tree_libraries OR mapping_libraries O
add_dependencies(ifcopenshell_wrapper ${schema_libraries} ${kernel_libraries} ${tree_libraries} ${mapping_libraries} ${geometry_serializer_libraries} ${document_serializer_libraries} ${linework_processing_libraries}) add_dependencies(ifcopenshell_wrapper ${schema_libraries} ${kernel_libraries} ${tree_libraries} ${mapping_libraries} ${geometry_serializer_libraries} ${document_serializer_libraries} ${linework_processing_libraries})
endif() endif()
if((NOT WIN32) AND NOT WASM_BUILD AND NOT CREATE_BUNDLE AND NOT CMAKE_INSTALL_RPATH AND COMMAND SET_INSTALL_RPATHS) if((NOT WIN32) AND NOT WASM_BUILD AND NOT CREATE_BUNDLE AND NOT CMAKE_INSTALL_RPATH AND COMMAND SET_INSTALL_RPATHS)
# The wrapper exposes RocksDbSerializer, so it has a DT_NEEDED entry for if(IFCOPENSHELL_IFCWRAP_STANDALONE)
# the document RDB plug-in. The Python package and CMake library set(_ifcwrap_ifcopenshell_library_dir "${IFCOPENSHELL_LIBRARY_DIR}")
# directories are normally different, including in CI where the package else()
# is installed into Python_SITEARCH and plug-ins go to /usr/local/lib. set(_ifcwrap_ifcopenshell_library_dir "${CMAKE_INSTALL_FULL_LIBDIR}")
SET_INSTALL_RPATHS(ifcopenshell_wrapper "${CMAKE_INSTALL_FULL_LIBDIR};${IFCDIRS};${OCC_LIBRARY_DIR}") endif()
# The Python package and IfcOpenShell libraries can have unrelated install
# prefixes. This is notably the case for standalone ifcwrap builds against
# an installed CMake package and GitHub Actions' hosted Python.
SET_INSTALL_RPATHS(ifcopenshell_wrapper "${_ifcwrap_ifcopenshell_library_dir};${IFCDIRS};${OCC_LIBRARY_DIR}")
elseif((NOT WIN32) AND BUILD_SHARED_LIBS AND COMMAND SET_INSTALL_RPATHS) elseif((NOT WIN32) AND BUILD_SHARED_LIBS AND COMMAND SET_INSTALL_RPATHS)
SET_INSTALL_RPATHS(ifcopenshell_wrapper "${IFCDIRS};${OCC_LIBRARY_DIR}") SET_INSTALL_RPATHS(ifcopenshell_wrapper "${IFCDIRS};${OCC_LIBRARY_DIR}")
endif() endif()