2025-11-11 07:21:18 +01:00
|
|
|
add_subdirectory(kernels)
|
|
|
|
|
set(kernel_libraries ${kernel_libraries} PARENT_SCOPE)
|
2025-11-15 20:31:13 +01:00
|
|
|
|
|
|
|
|
if((BUILD_CONVERT OR BUILD_IFCPYTHON) AND WITH_OPENCASCADE)
|
|
|
|
|
add_subdirectory(Serialization)
|
|
|
|
|
set(IFCOPENSHELL_LIBRARIES ${IFCOPENSHELL_LIBRARIES} PARENT_SCOPE)
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-11-30 13:33:56 +01:00
|
|
|
add_subdirectory(mapping)
|
|
|
|
|
|
|
|
|
|
# IfcGeom (schema agnostic)
|
|
|
|
|
file(GLOB SCHEMA_AGNOSTIC_H_FILES *.h)
|
|
|
|
|
file(GLOB SCHEMA_AGNOSTIC_CPP_FILES *.cpp)
|
|
|
|
|
set(SCHEMA_AGNOSTIC_FILES ${SCHEMA_AGNOSTIC_H_FILES} ${SCHEMA_AGNOSTIC_CPP_FILES})
|
|
|
|
|
|
|
|
|
|
add_library(IfcGeom ${SCHEMA_AGNOSTIC_FILES})
|
2025-12-12 14:28:07 +05:00
|
|
|
set_target_properties(IfcGeom
|
|
|
|
|
PROPERTIES
|
|
|
|
|
COMPILE_FLAGS -DIFC_GEOM_EXPORTS
|
|
|
|
|
VERSION "${PROJECT_VERSION}"
|
|
|
|
|
SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
|
|
|
|
|
PUBLIC_HEADER "${SCHEMA_AGNOSTIC_H_FILES}"
|
|
|
|
|
)
|
2025-11-30 13:33:56 +01:00
|
|
|
|
|
|
|
|
if(UNIX)
|
|
|
|
|
find_package(Threads)
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-11-30 17:06:52 +01:00
|
|
|
find_package(Eigen3 REQUIRED)
|
|
|
|
|
|
2025-12-04 18:39:15 +05:00
|
|
|
target_link_libraries(IfcGeom
|
|
|
|
|
${kernel_libraries} ${mapping_libraries}
|
|
|
|
|
${CMAKE_THREAD_LIBS_INIT} "Eigen3::Eigen"
|
|
|
|
|
${CGAL_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
if(NOT WASM_BUILD)
|
|
|
|
|
target_link_libraries(IfcGeom IfcParse)
|
2025-11-30 13:33:56 +01:00
|
|
|
endif()
|
|
|
|
|
|
2025-12-11 19:22:49 +05:00
|
|
|
install(TARGETS IfcGeom
|
|
|
|
|
EXPORT ${IFCOPENSHELL_EXPORT_TARGETS}
|
2025-12-12 14:28:07 +05:00
|
|
|
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ifcgeom"
|
2025-12-11 19:22:49 +05:00
|
|
|
)
|