From 57a9e1e30437714684a5b8c92a74b4bd592d3831 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 3 Sep 2026 15:10:17 +0500 Subject: [PATCH] cmake: export `document_serializer_rdb` There was an error building a standalone ifcwrap when previously built IfcOpenShell had rocksdb - `_ifcopenshell_wrapper.cpython-314-x86_64-linux-gnu.so: undefined symbol: _ZTV17RocksDbSerializer`. `IFOPSH_WITH_ROCKSDB` propagated to the build, requiring rocksdb symbols, but `WITH_ROCKSDB` wasn't set and `document_serializer_rdb` target wasn't provided. --- src/ifcwrap/CMakeLists.txt | 2 ++ src/serializers/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 4316e5af84..566e436200 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -50,6 +50,7 @@ if(IFCOPENSHELL_IFCWRAP_STANDALONE) set(WITH_OPENCASCADE "${IFCOPENSHELL_WITH_OPENCASCADE}") set(WITH_CGAL "${IFCOPENSHELL_WITH_CGAL}") + set(WITH_ROCKSDB "${IFCOPENSHELL_WITH_ROCKSDB}") set(SWIG_DEFINES "") if(IFCOPENSHELL_WITH_OPENCASCADE) @@ -67,6 +68,7 @@ if(IFCOPENSHELL_IFCWRAP_STANDALONE) if(IFCOPENSHELL_WITH_ROCKSDB) list(APPEND SWIG_DEFINES -DIFOPSH_WITH_ROCKSDB) list(APPEND _ifcwrap_feature_definitions IFOPSH_WITH_ROCKSDB) + add_library(document_serializer_rdb ALIAS IfcOpenShell::document_serializer_rdb) endif() endif() diff --git a/src/serializers/CMakeLists.txt b/src/serializers/CMakeLists.txt index dbe82f6eaf..8ea693f90a 100644 --- a/src/serializers/CMakeLists.txt +++ b/src/serializers/CMakeLists.txt @@ -59,6 +59,8 @@ endfunction() if(WITH_ROCKSDB) add_document_serializer_plugin(document_serializer_rdb "document.rdb" SOURCES document_rdb_plugin.cpp rocks_db_serializer.cpp LIBRARIES ${IFCOPENSHELL_ROCKSDB_TARGET}) + # Still not fully a plugin and ifcwrap depends on it directly. + install(TARGETS document_serializer_rdb EXPORT ${IFCOPENSHELL_EXPORT_TARGETS}) endif() add_subdirectory(schema_dependent)