2025-11-11 07:21:18 +01:00
|
|
|
foreach(kernel ${GEOMETRY_KERNELS})
|
|
|
|
|
string(TOUPPER ${kernel} KERNEL_UPPER)
|
|
|
|
|
file(GLOB IFCGEOM_H_FILES ${kernel}/*.h)
|
|
|
|
|
file(GLOB IFCGEOM_CPP_FILES ${kernel}/*.cpp)
|
|
|
|
|
set(IFCGEOM_FILES ${IFCGEOM_CPP_FILES} ${IFCGEOM_H_FILES})
|
|
|
|
|
|
2025-11-21 16:50:34 +05:00
|
|
|
set(KERNEL_TARGET "geometry_kernel_${kernel}")
|
2025-11-11 07:21:18 +01:00
|
|
|
|
2025-11-21 16:50:34 +05:00
|
|
|
add_library(${KERNEL_TARGET} OBJECT ${IFCGEOM_FILES})
|
|
|
|
|
set_property(TARGET ${KERNEL_TARGET} APPEND PROPERTY COMPILE_FLAGS "-DIFC_GEOM_EXPORTS")
|
|
|
|
|
list(APPEND kernel_libraries ${KERNEL_TARGET})
|
|
|
|
|
target_link_libraries(${KERNEL_TARGET} ${${KERNEL_UPPER}_LIBRARIES})
|
|
|
|
|
|
|
|
|
|
install(TARGETS ${KERNEL_TARGET}
|
2025-11-11 07:21:18 +01:00
|
|
|
ARCHIVE DESTINATION ${LIBDIR}
|
|
|
|
|
LIBRARY DESTINATION ${LIBDIR}
|
|
|
|
|
RUNTIME DESTINATION ${BINDIR}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(${kernel} STREQUAL "cgal")
|
2025-11-21 16:50:34 +05:00
|
|
|
set_property(TARGET ${KERNEL_TARGET} APPEND_STRING PROPERTY COMPILE_FLAGS " -DCGAL_HAS_THREADS")
|
2025-11-11 07:21:18 +01:00
|
|
|
|
2025-11-21 16:50:34 +05:00
|
|
|
set(KERNEL_TARGET_SIMPLE "${KERNEL_TARGET}_simple")
|
|
|
|
|
add_library(${KERNEL_TARGET_SIMPLE} OBJECT ${IFCGEOM_FILES})
|
|
|
|
|
set_target_properties(${KERNEL_TARGET_SIMPLE} PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS -DIFOPSH_SIMPLE_KERNEL -DCGAL_HAS_THREADS")
|
|
|
|
|
list(APPEND kernel_libraries ${KERNEL_TARGET_SIMPLE})
|
|
|
|
|
target_link_libraries(${KERNEL_TARGET_SIMPLE} ${${KERNEL_UPPER}_LIBRARIES} Eigen3::Eigen)
|
|
|
|
|
install(TARGETS ${KERNEL_TARGET_SIMPLE}
|
2025-11-11 07:21:18 +01:00
|
|
|
ARCHIVE DESTINATION ${LIBDIR}
|
|
|
|
|
LIBRARY DESTINATION ${LIBDIR}
|
|
|
|
|
RUNTIME DESTINATION ${BINDIR}
|
|
|
|
|
)
|
2025-11-21 16:50:34 +05:00
|
|
|
elseif(${kernel} STREQUAL "opencascade")
|
|
|
|
|
target_link_libraries(${KERNEL_TARGET} ${OpenCASCADE_LIBRARIES})
|
2025-11-11 07:21:18 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
install(FILES ${IFCGEOM_H_FILES}
|
|
|
|
|
DESTINATION ${INCLUDEDIR}/ifcgeom/kernels/${kernel}
|
|
|
|
|
)
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
set(kernel_libraries ${kernel_libraries} PARENT_SCOPE)
|