mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
cmake: Have a dedicated CMakeLists.txt for kernels
This commit is contained in:
committed by
Thomas Krijnen
parent
9b257b0a10
commit
9d28628157
+2
-27
@@ -1006,33 +1006,8 @@ if(BUILD_IFCGEOM)
|
|||||||
list(APPEND CGAL_LIBRARIES "${libGMP}")
|
list(APPEND CGAL_LIBRARIES "${libGMP}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(kernel ${GEOMETRY_KERNELS})
|
add_subdirectory(../src/ifcgeom ifcgeom)
|
||||||
string(TOUPPER ${kernel} KERNEL_UPPER)
|
|
||||||
file(GLOB IFCGEOM_H_FILES ../src/ifcgeom/kernels/${kernel}/*.h)
|
|
||||||
file(GLOB IFCGEOM_CPP_FILES ../src/ifcgeom/kernels/${kernel}/*.cpp)
|
|
||||||
set(IFCGEOM_FILES ${IFCGEOM_CPP_FILES} ${IFCGEOM_H_FILES})
|
|
||||||
|
|
||||||
add_library(geometry_kernel_${kernel} ${IFCGEOM_FILES} ../src/ifcgeom/kernels/ifc_geomlibrary_api.h)
|
|
||||||
set_property(TARGET geometry_kernel_${kernel} APPEND PROPERTY COMPILE_FLAGS "-DIFC_GEOMLIBRARY_EXPORTS")
|
|
||||||
# needed?
|
|
||||||
# if(NOT WASM_BUILD)
|
|
||||||
# endif()
|
|
||||||
target_link_libraries(geometry_kernel_${kernel} ${${KERNEL_UPPER}_LIBRARIES} IfcGeom IfcParse)
|
|
||||||
list(APPEND kernel_libraries geometry_kernel_${kernel})
|
|
||||||
|
|
||||||
if(${kernel} STREQUAL "cgal")
|
|
||||||
set_property(TARGET geometry_kernel_${kernel} APPEND_STRING PROPERTY COMPILE_FLAGS " -DCGAL_HAS_THREADS")
|
|
||||||
|
|
||||||
add_library(geometry_kernel_${kernel}_simple ${IFCGEOM_FILES})
|
|
||||||
set_target_properties(geometry_kernel_${kernel}_simple PROPERTIES COMPILE_FLAGS "-DIFC_GEOMLIBRARY_EXPORTS -DIFOPSH_SIMPLE_KERNEL -DCGAL_HAS_THREADS")
|
|
||||||
# needed?
|
|
||||||
# if(NOT WASM_BUILD)
|
|
||||||
# endif()
|
|
||||||
target_link_libraries(geometry_kernel_${kernel}_simple ${${KERNEL_UPPER}_LIBRARIES} IfcGeom IfcParse)
|
|
||||||
list(APPEND kernel_libraries geometry_kernel_${kernel}_simple)
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# IfcGeom
|
# IfcGeom
|
||||||
foreach(schema ${SCHEMA_VERSIONS})
|
foreach(schema ${SCHEMA_VERSIONS})
|
||||||
file(GLOB IFCGEOM_I_FILES ../src/ifcgeom/mapping/*.i)
|
file(GLOB IFCGEOM_I_FILES ../src/ifcgeom/mapping/*.i)
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
add_subdirectory(kernels)
|
||||||
|
|
||||||
|
set(kernel_libraries ${kernel_libraries} PARENT_SCOPE)
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
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})
|
||||||
|
|
||||||
|
add_library(geometry_kernel_${kernel} OBJECT ${IFCGEOM_FILES})
|
||||||
|
set_property(TARGET geometry_kernel_${kernel} APPEND PROPERTY COMPILE_FLAGS "-DIFC_GEOM_EXPORTS")
|
||||||
|
list(APPEND kernel_libraries geometry_kernel_${kernel})
|
||||||
|
target_link_libraries(geometry_kernel_${kernel} ${${KERNEL_UPPER}_LIBRARIES})
|
||||||
|
|
||||||
|
install(TARGETS geometry_kernel_${kernel}
|
||||||
|
ARCHIVE DESTINATION ${LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${BINDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(${kernel} STREQUAL "cgal")
|
||||||
|
set_property(TARGET geometry_kernel_${kernel} APPEND_STRING PROPERTY COMPILE_FLAGS " -DCGAL_HAS_THREADS")
|
||||||
|
|
||||||
|
add_library(geometry_kernel_${kernel}_simple OBJECT ${IFCGEOM_FILES})
|
||||||
|
set_target_properties(geometry_kernel_${kernel}_simple PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS -DIFOPSH_SIMPLE_KERNEL -DCGAL_HAS_THREADS")
|
||||||
|
list(APPEND kernel_libraries geometry_kernel_${kernel}_simple)
|
||||||
|
target_link_libraries(geometry_kernel_${kernel}_simple ${${KERNEL_UPPER}_LIBRARIES} Eigen3::Eigen)
|
||||||
|
install(TARGETS geometry_kernel_${kernel}_simple
|
||||||
|
ARCHIVE DESTINATION ${LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${BINDIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(FILES ${IFCGEOM_H_FILES}
|
||||||
|
DESTINATION ${INCLUDEDIR}/ifcgeom/kernels/${kernel}
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
set(kernel_libraries ${kernel_libraries} PARENT_SCOPE)
|
||||||
Reference in New Issue
Block a user