Files
IfcOpenShell/src/ifcparse/CMakeLists.txt
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

67 lines
2.0 KiB
CMake
Raw Normal View History

file(GLOB IFCPARSE_H_FILES_ALL *.h)
file(GLOB IFCPARSE_CPP_FILES_ALL *.cpp)
foreach(file ${IFCPARSE_H_FILES_ALL})
get_filename_component(filename "${file}" NAME)
2026-03-31 10:02:00 +02:00
list(APPEND IFCPARSE_H_FILES "${file}")
endforeach()
foreach(file ${IFCPARSE_CPP_FILES_ALL})
get_filename_component(filename "${file}" NAME)
2026-03-31 10:02:00 +02:00
list(APPEND IFCPARSE_CPP_FILES "${file}")
endforeach()
message(STATUS "SCHEMA_VERSIONS from ifcparse: ${SCHEMA_VERSIONS}")
foreach(schema ${SCHEMA_VERSIONS})
list(APPEND IFCPARSE_H_FILES
2026-03-31 10:02:00 +02:00
schemas/Ifc${schema}.h
schemas/Ifc${schema}-definitions.h
)
list(APPEND IFCPARSE_CPP_FILES
2026-03-31 10:02:00 +02:00
schemas/Ifc${schema}.cpp
schemas/Ifc${schema}-schema.cpp
)
endforeach()
2026-03-31 15:32:36 +02:00
list(APPEND IFCPARSE_H_FILES
schemas/Header_section_schema.h
)
list(APPEND IFCPARSE_CPP_FILES
schemas/Header_section_schema.cpp
schemas/Header_section_schema-schema.cpp
)
set(IFCPARSE_FILES ${IFCPARSE_CPP_FILES} ${IFCPARSE_H_FILES})
add_library(IfcParse ${IFCPARSE_FILES})
2026-04-14 13:50:23 +02:00
add_library(parse ALIAS IfcParse)
target_compile_definitions(IfcParse PUBLIC ${SCHEMA_DEFINITIONS})
2026-04-19 12:32:18 +02:00
if(USE_MMAP)
target_compile_definitions(IfcParse PUBLIC USE_MMAP)
endif()
if(WITH_ROCKSDB)
target_compile_definitions(IfcParse PUBLIC IFOPSH_WITH_ROCKSDB)
set(SWIG_DEFINES ${SWIG_DEFINES} -DIFOPSH_WITH_ROCKSDB PARENT_SCOPE)
endif()
set_target_properties(IfcParse PROPERTIES COMPILE_FLAGS -DIFC_PARSE_EXPORTS VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
if(WASM_BUILD)
2026-04-14 13:50:23 +02:00
target_link_libraries(IfcParse plugin ${BCRYPT_LIBRARIES})
else()
2026-04-14 13:50:23 +02:00
target_link_libraries(IfcParse plugin ${Boost_LIBRARIES} ${BCRYPT_LIBRARIES})
endif()
2026-04-19 12:32:18 +02:00
if(WITH_ROCKSDB)
target_link_libraries(IfcParse RocksDB::rocksdb)
if(WITH_ZSTD)
target_link_libraries(IfcParse zstd::libzstd_static)
endif()
endif()
# CMake installation targets
install(FILES ${IFCPARSE_H_FILES}
DESTINATION ${INCLUDEDIR}/ifcparse
)
2025-11-28 16:45:40 +01:00
install(TARGETS IfcParse)