2026-04-17 11:24:09 +02:00
|
|
|
set(geometry_serialization_plugin_runtime_dir "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>")
|
|
|
|
|
|
2025-11-15 20:31:13 +01:00
|
|
|
add_subdirectory(schema)
|
|
|
|
|
|
2026-08-08 14:19:57 +02:00
|
|
|
add_library(geometry_serializer serialization.cpp opencascade_geometry_ifc_writer_plugin.cpp)
|
2026-07-30 08:54:08 +02:00
|
|
|
target_include_directories(geometry_serializer PUBLIC
|
|
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
|
|
|
|
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
|
|
|
|
)
|
|
|
|
|
if((NOT WIN32) AND BUILD_SHARED_LIBS AND NOT WASM_BUILD AND NOT CREATE_BUNDLE AND NOT CMAKE_INSTALL_RPATH AND COMMAND SET_INSTALL_SELF_RPATH)
|
|
|
|
|
SET_INSTALL_SELF_RPATH(geometry_serializer)
|
|
|
|
|
endif()
|
2026-04-17 11:24:09 +02:00
|
|
|
set_target_properties(geometry_serializer PROPERTIES
|
2026-05-08 13:39:52 +02:00
|
|
|
OUTPUT_NAME "ifcopenshell.geometry.writer"
|
2026-04-17 11:24:09 +02:00
|
|
|
COMPILE_FLAGS "-DIFC_GEOMSERIALIZATION_EXPORTS"
|
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY "${geometry_serialization_plugin_runtime_dir}"
|
|
|
|
|
LIBRARY_OUTPUT_DIRECTORY "${geometry_serialization_plugin_runtime_dir}"
|
|
|
|
|
)
|
2026-08-10 20:54:36 +05:00
|
|
|
target_link_libraries(geometry_serializer plugin IfcGeom IfcParse ${OpenCASCADE_LIBRARIES})
|
2026-04-17 11:24:09 +02:00
|
|
|
set(IFCOPENSHELL_LIBRARIES ${IFCOPENSHELL_LIBRARIES} "geometry_serializer")
|
2025-11-15 20:31:13 +01:00
|
|
|
set(IFCOPENSHELL_LIBRARIES ${IFCOPENSHELL_LIBRARIES} PARENT_SCOPE)
|
|
|
|
|
|
2026-08-08 14:19:57 +02:00
|
|
|
install(FILES serialization.h
|
|
|
|
|
DESTINATION ${INCLUDEDIR}/ifcgeom/serialization
|
2025-11-15 20:31:13 +01:00
|
|
|
)
|
|
|
|
|
|
2026-07-30 08:54:08 +02:00
|
|
|
install(
|
|
|
|
|
TARGETS geometry_serializer ${geometry_serializer_libraries}
|
|
|
|
|
EXPORT ${IFCOPENSHELL_EXPORT_TARGETS}
|
|
|
|
|
)
|
2025-11-30 13:33:56 +01:00
|
|
|
|
|
|
|
|
set(geometry_serializer_libraries ${geometry_serializer_libraries} PARENT_SCOPE)
|