mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-22 14:48:02 +00:00
cmake: Externalize OpenCascade config (#7365)
Co-authored-by: Andrej <azhilenkov@gmail.com>
This commit is contained in:
committed by
GitHub
parent
be0eea1bed
commit
613015e37e
+2
-136
@@ -490,141 +490,7 @@ if(BUILD_IFCGEOM)
|
|||||||
|
|
||||||
# Open CASCADE
|
# Open CASCADE
|
||||||
if(WITH_OPENCASCADE)
|
if(WITH_OPENCASCADE)
|
||||||
if(OCC_INCLUDE_DIR)
|
find_package(OpenCASCADE REQUIRED)
|
||||||
set(OCC_INCLUDE_DIR ${OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files")
|
|
||||||
message(STATUS "Looking for Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(OCC_LIBRARY_DIR)
|
|
||||||
set(OCC_LIBRARY_DIR ${OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files")
|
|
||||||
message(STATUS "Looking for Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# No specific paths specified, try to find package.
|
|
||||||
if(OCC_INCLUDE_DIR AND OCC_LIBRARY_DIR)
|
|
||||||
message(
|
|
||||||
STATUS
|
|
||||||
"Using provided OCC_INCLUDE_DIR ('${OCC_INCLUDE_DIR}') "
|
|
||||||
"and OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}')."
|
|
||||||
)
|
|
||||||
# Parse OCC_VERSION_STRING.
|
|
||||||
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAJOR
|
|
||||||
REGEX "#define OCC_VERSION_MAJOR.*"
|
|
||||||
)
|
|
||||||
string(REGEX MATCH "[0-9]+" OCC_MAJOR ${OCC_MAJOR})
|
|
||||||
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MINOR
|
|
||||||
REGEX "#define OCC_VERSION_MINOR.*"
|
|
||||||
)
|
|
||||||
string(REGEX MATCH "[0-9]+" OCC_MINOR ${OCC_MINOR})
|
|
||||||
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAINT
|
|
||||||
REGEX "#define OCC_VERSION_MAINTENANCE.*"
|
|
||||||
)
|
|
||||||
string(REGEX MATCH "[0-9]+" OCC_MAINT ${OCC_MAINT})
|
|
||||||
set(OCC_VERSION_STRING "${OCC_MAJOR}.${OCC_MINOR}.${OCC_MAINT}")
|
|
||||||
elseif(NOT OCC_INCLUDE_DIR AND NOT OCC_LIBRARY_DIR)
|
|
||||||
# OCE is not supported for find_package, because it's using a different name (`oce`)
|
|
||||||
# and also has an odd directory structure (install/lib/oce-0.18/*.cmake).
|
|
||||||
find_package(OpenCASCADE CONFIG REQUIRED)
|
|
||||||
set(OCC_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR})
|
|
||||||
# Do not use OpenCASCADE_LIBRARY_DIR for OCC_LIBRARY_DIR - check target property explicitly.
|
|
||||||
# On Windows there is a case with OpenCASCADE_LIBRARY_DIR points to `lib` folder,
|
|
||||||
# while TKernel is actually in `libi`.
|
|
||||||
get_target_property(TKERNEL_LIB_PATH TKernel LOCATION)
|
|
||||||
get_filename_component(OCC_LIBRARY_DIR "${TKERNEL_LIB_PATH}" DIRECTORY)
|
|
||||||
set(OCC_VERSION_STRING ${OpenCASCADE_VERSION})
|
|
||||||
message(
|
|
||||||
STATUS
|
|
||||||
"Found Open CASCADE package at '${OpenCASCADE_DIR}', "
|
|
||||||
"deducing from it OCC_INCLUDE_DIR: '${OCC_INCLUDE_DIR}' "
|
|
||||||
"and OCC_LIBRARY_DIR: '${OCC_LIBRARY_DIR}'."
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
message(
|
|
||||||
FATAL_ERROR
|
|
||||||
"Couldn't find Open CASCADE installation. "
|
|
||||||
"Either both OCC_INCLUDE_DIR ('${OCC_INCLUDE_DIR}') and OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}') "
|
|
||||||
"must be specified or OpenCASCADE package should be discoverable. "
|
|
||||||
"If you're using OCE, then providing a package is not available "
|
|
||||||
"and you need to provide OCE_INCLUDE_DIR and OCE_LIBRARY_DIR directly."
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(
|
|
||||||
OPENCASCADE_LIBRARY_NAMES
|
|
||||||
TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO
|
|
||||||
TKFillet TKXSBase TKOffset TKHLR
|
|
||||||
|
|
||||||
# @todo investigate the exact conditions when this is necessary
|
|
||||||
TKBin
|
|
||||||
)
|
|
||||||
|
|
||||||
if(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
|
||||||
list(APPEND OPENCASCADE_LIBRARY_NAMES TKIGES TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP)
|
|
||||||
else(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
|
||||||
list(APPEND OPENCASCADE_LIBRARY_NAMES TKDESTEP TKDEIGES)
|
|
||||||
endif(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
|
||||||
|
|
||||||
clear_wasm_sysroot()
|
|
||||||
find_library(libTKernel NAMES TKernel TKerneld PATHS ${OCC_LIBRARY_DIR} NO_DEFAULT_PATH)
|
|
||||||
restore_wasm_sysroot()
|
|
||||||
|
|
||||||
if(libTKernel)
|
|
||||||
message(STATUS "Required Open Cascade Library files found")
|
|
||||||
else()
|
|
||||||
message(
|
|
||||||
FATAL_ERROR
|
|
||||||
"Unable to find Open Cascade library files in OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}'), aborting"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Use the found libTKernel as a template for all other OCC libraries
|
|
||||||
# TODO Extract this into macro/function
|
|
||||||
foreach(lib ${OPENCASCADE_LIBRARY_NAMES})
|
|
||||||
# Make sure we'll handle the Windows/MSVC debug postfix convention too.
|
|
||||||
string(REPLACE TKerneld "${lib}" lib_path "${libTKernel}")
|
|
||||||
string(REPLACE TKernel "${lib}" lib_path "${lib_path}")
|
|
||||||
list(APPEND OPENCASCADE_LIBRARIES "${lib_path}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
add_definitions(-DHAVE_NO_DLL)
|
|
||||||
add_debug_variants(OPENCASCADE_LIBRARIES "${OPENCASCADE_LIBRARIES}" d)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# OCC might require linking to Winsock depending on the version and build configuration
|
|
||||||
list(APPEND OPENCASCADE_LIBRARIES ws2_32.lib)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Make sure cross-referenced symbols between static OCC libraries get
|
|
||||||
# resolved. Also add thread and rt libraries.
|
|
||||||
get_filename_component(libTKernelExt ${libTKernel} EXT)
|
|
||||||
if("${libTKernelExt}" STREQUAL ".a")
|
|
||||||
set(OCCT_STATIC ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(OCCT_STATIC)
|
|
||||||
find_package(Threads)
|
|
||||||
|
|
||||||
if(WASM_BUILD)
|
|
||||||
set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
else()
|
|
||||||
# OPENCASCADE_LIBRARIES repeated N times below in order to fix cyclic dependencies
|
|
||||||
# tfk: --start-group ... --end-group didn't work on the apple linker when last tested
|
|
||||||
if(APPLE)
|
|
||||||
set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
else()
|
|
||||||
set(OPENCASCADE_LIBRARIES -Wl,--start-group ${OPENCASCADE_LIBRARIES} -Wl,--end-group ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT APPLE AND NOT WIN32)
|
|
||||||
set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} "rt")
|
|
||||||
endif()
|
|
||||||
if(NOT WIN32)
|
|
||||||
set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} "dl")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif(WITH_OPENCASCADE)
|
endif(WITH_OPENCASCADE)
|
||||||
endif(BUILD_IFCGEOM)
|
endif(BUILD_IFCGEOM)
|
||||||
|
|
||||||
@@ -969,7 +835,7 @@ if(BUILD_CONVERT OR BUILD_IFCPYTHON)
|
|||||||
|
|
||||||
add_library(geometry_serializer_ifc${schema} STATIC ../src/ifcgeom/Serialization/schema/Serialization.cpp)
|
add_library(geometry_serializer_ifc${schema} STATIC ../src/ifcgeom/Serialization/schema/Serialization.cpp)
|
||||||
set_target_properties(geometry_serializer_ifc${schema} PROPERTIES COMPILE_FLAGS "-DIFC_GEOMSERIALIZATION_EXPORTS -DIfcSchema=Ifc${schema}")
|
set_target_properties(geometry_serializer_ifc${schema} PROPERTIES COMPILE_FLAGS "-DIFC_GEOMSERIALIZATION_EXPORTS -DIfcSchema=Ifc${schema}")
|
||||||
target_link_libraries(geometry_serializer_ifc${schema} ${OPENCASCADE_LIBRARIES})
|
target_link_libraries(geometry_serializer_ifc${schema} ${OpenCASCADE_LIBRARIES})
|
||||||
list(APPEND geometry_serializer_libraries geometry_serializer_ifc${schema})
|
list(APPEND geometry_serializer_libraries geometry_serializer_ifc${schema})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,135 @@
|
|||||||
|
if(OCC_INCLUDE_DIR)
|
||||||
|
set(OCC_INCLUDE_DIR ${OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files")
|
||||||
|
message(STATUS "Looking for Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(OCC_LIBRARY_DIR)
|
||||||
|
set(OCC_LIBRARY_DIR ${OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files")
|
||||||
|
message(STATUS "Looking for Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# No specific paths specified, try to find package.
|
||||||
|
if(OCC_INCLUDE_DIR AND OCC_LIBRARY_DIR)
|
||||||
|
message(
|
||||||
|
STATUS
|
||||||
|
"Using provided OCC_INCLUDE_DIR ('${OCC_INCLUDE_DIR}') "
|
||||||
|
"and OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}')."
|
||||||
|
)
|
||||||
|
# Parse OCC_VERSION_STRING.
|
||||||
|
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAJOR
|
||||||
|
REGEX "#define OCC_VERSION_MAJOR.*"
|
||||||
|
)
|
||||||
|
string(REGEX MATCH "[0-9]+" OCC_MAJOR ${OCC_MAJOR})
|
||||||
|
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MINOR
|
||||||
|
REGEX "#define OCC_VERSION_MINOR.*"
|
||||||
|
)
|
||||||
|
string(REGEX MATCH "[0-9]+" OCC_MINOR ${OCC_MINOR})
|
||||||
|
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAINT
|
||||||
|
REGEX "#define OCC_VERSION_MAINTENANCE.*"
|
||||||
|
)
|
||||||
|
string(REGEX MATCH "[0-9]+" OCC_MAINT ${OCC_MAINT})
|
||||||
|
set(OCC_VERSION_STRING "${OCC_MAJOR}.${OCC_MINOR}.${OCC_MAINT}")
|
||||||
|
elseif(NOT OCC_INCLUDE_DIR AND NOT OCC_LIBRARY_DIR)
|
||||||
|
# OCE is not supported for find_package, because it's using a different name (`oce`)
|
||||||
|
# and also has an odd directory structure (install/lib/oce-0.18/*.cmake).
|
||||||
|
find_package(OpenCASCADE CONFIG REQUIRED)
|
||||||
|
set(OCC_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR})
|
||||||
|
# Do not use OpenCASCADE_LIBRARY_DIR for OCC_LIBRARY_DIR - check target property explicitly.
|
||||||
|
# On Windows there is a case with OpenCASCADE_LIBRARY_DIR points to `lib` folder,
|
||||||
|
# while TKernel is actually in `libi`.
|
||||||
|
get_target_property(TKERNEL_LIB_PATH TKernel LOCATION)
|
||||||
|
get_filename_component(OCC_LIBRARY_DIR "${TKERNEL_LIB_PATH}" DIRECTORY)
|
||||||
|
set(OCC_VERSION_STRING ${OpenCASCADE_VERSION})
|
||||||
|
message(
|
||||||
|
STATUS
|
||||||
|
"Found Open CASCADE package at '${OpenCASCADE_DIR}', "
|
||||||
|
"deducing from it OCC_INCLUDE_DIR: '${OCC_INCLUDE_DIR}' "
|
||||||
|
"and OCC_LIBRARY_DIR: '${OCC_LIBRARY_DIR}'."
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
"Couldn't find Open CASCADE installation. "
|
||||||
|
"Either both OCC_INCLUDE_DIR ('${OCC_INCLUDE_DIR}') and OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}') "
|
||||||
|
"must be specified or OpenCASCADE package should be discoverable. "
|
||||||
|
"If you're using OCE, then providing a package is not available "
|
||||||
|
"and you need to provide OCE_INCLUDE_DIR and OCE_LIBRARY_DIR directly."
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(
|
||||||
|
OpenCASCADE_LIBRARIES
|
||||||
|
TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO
|
||||||
|
TKFillet TKXSBase TKOffset TKHLR
|
||||||
|
|
||||||
|
# @todo investigate the exact conditions when this is necessary
|
||||||
|
TKBin
|
||||||
|
)
|
||||||
|
|
||||||
|
if(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
||||||
|
list(APPEND OpenCASCADE_LIBRARIES TKIGES TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP)
|
||||||
|
else(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
||||||
|
list(APPEND OpenCASCADE_LIBRARIES TKDESTEP TKDEIGES)
|
||||||
|
endif(OCC_VERSION_STRING VERSION_LESS 7.8.0)
|
||||||
|
|
||||||
|
clear_wasm_sysroot()
|
||||||
|
find_library(libTKernel NAMES TKernel TKerneld PATHS ${OCC_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||||
|
restore_wasm_sysroot()
|
||||||
|
|
||||||
|
if(libTKernel)
|
||||||
|
message(STATUS "Required Open Cascade Library files found")
|
||||||
|
else()
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
"Unable to find Open Cascade library files in OCC_LIBRARY_DIR ('${OCC_LIBRARY_DIR}'), aborting"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Use the found libTKernel as a template for all other OCC libraries
|
||||||
|
# TODO Extract this into macro/function
|
||||||
|
foreach(lib ${OpenCASCADE_LIBRARIES})
|
||||||
|
# Make sure we'll handle the Windows/MSVC debug postfix convention too.
|
||||||
|
string(REPLACE TKerneld "${lib}" lib_path "${libTKernel}")
|
||||||
|
string(REPLACE TKernel "${lib}" lib_path "${lib_path}")
|
||||||
|
list(APPEND OpenCASCADE_LIBRARIES "${lib_path}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
add_definitions(-DHAVE_NO_DLL)
|
||||||
|
add_debug_variants(OpenCASCADE_LIBRARIES "${OpenCASCADE_LIBRARIES}" d)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
# OCC might require linking to Winsock depending on the version and build configuration
|
||||||
|
list(APPEND OpenCASCADE_LIBRARIES ws2_32.lib)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Make sure cross-referenced symbols between static OCC libraries get
|
||||||
|
# resolved. Also add thread and rt libraries.
|
||||||
|
get_filename_component(libTKernelExt ${libTKernel} EXT)
|
||||||
|
if("${libTKernelExt}" STREQUAL ".a")
|
||||||
|
set(OCCT_STATIC ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(OCCT_STATIC)
|
||||||
|
find_package(Threads)
|
||||||
|
|
||||||
|
if(WASM_BUILD)
|
||||||
|
set(OpenCASCADE_LIBRARIES ${OpenCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
else()
|
||||||
|
# OpenCASCADE_LIBRARIES repeated N times below in order to fix cyclic dependencies
|
||||||
|
# tfk: --start-group ... --end-group didn't work on the apple linker when last tested
|
||||||
|
if(APPLE)
|
||||||
|
set(OpenCASCADE_LIBRARIES ${OpenCASCADE_LIBRARIES} ${OpenCASCADE_LIBRARIES} ${OpenCASCADE_LIBRARIES} ${OpenCASCADE_LIBRARIES} ${OpenCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
else()
|
||||||
|
set(OpenCASCADE_LIBRARIES -Wl,--start-group ${OpenCASCADE_LIBRARIES} -Wl,--end-group ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT APPLE AND NOT WIN32)
|
||||||
|
set(OpenCASCADE_LIBRARIES ${OpenCASCADE_LIBRARIES} "rt")
|
||||||
|
endif()
|
||||||
|
if(NOT WIN32)
|
||||||
|
set(OpenCASCADE_LIBRARIES ${OpenCASCADE_LIBRARIES} "dl")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
@@ -26,11 +26,11 @@ target_compile_features(IfcParseExamples PUBLIC cxx_std_17)
|
|||||||
if (WITH_OPENCASCADE)
|
if (WITH_OPENCASCADE)
|
||||||
|
|
||||||
ADD_EXECUTABLE(IfcOpenHouse IfcOpenHouse.cpp)
|
ADD_EXECUTABLE(IfcOpenHouse IfcOpenHouse.cpp)
|
||||||
TARGET_LINK_LIBRARIES(IfcOpenHouse ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES})
|
TARGET_LINK_LIBRARIES(IfcOpenHouse ${IFCOPENSHELL_LIBRARIES} ${OpenCASCADE_LIBRARIES})
|
||||||
set_target_properties(IfcOpenHouse PROPERTIES FOLDER Examples)
|
set_target_properties(IfcOpenHouse PROPERTIES FOLDER Examples)
|
||||||
|
|
||||||
ADD_EXECUTABLE(IfcAdvancedHouse IfcAdvancedHouse.cpp)
|
ADD_EXECUTABLE(IfcAdvancedHouse IfcAdvancedHouse.cpp)
|
||||||
TARGET_LINK_LIBRARIES(IfcAdvancedHouse ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES})
|
TARGET_LINK_LIBRARIES(IfcAdvancedHouse ${IFCOPENSHELL_LIBRARIES} ${OpenCASCADE_LIBRARIES})
|
||||||
set_target_properties(IfcAdvancedHouse PROPERTIES FOLDER Examples)
|
set_target_properties(IfcAdvancedHouse PROPERTIES FOLDER Examples)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ endif()
|
|||||||
set(IFCCONVERT_FILES ${IFCCONVERT_CPP_FILES} ${IFCCONVERT_H_FILES})
|
set(IFCCONVERT_FILES ${IFCCONVERT_CPP_FILES} ${IFCCONVERT_H_FILES})
|
||||||
add_executable(IfcConvert ${IFCCONVERT_FILES})
|
add_executable(IfcConvert ${IFCCONVERT_FILES})
|
||||||
|
|
||||||
target_link_libraries(IfcConvert IfcGeom IfcParse Serializers ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${HDF5_LIBRARIES} ${USD_LIBRARIES})
|
target_link_libraries(IfcConvert IfcGeom IfcParse Serializers ${OpenCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${HDF5_LIBRARIES} ${USD_LIBRARIES})
|
||||||
if(WITH_RELATIONSHIP_VALIDATION)
|
if(WITH_RELATIONSHIP_VALIDATION)
|
||||||
set_property(TARGET IfcConvert APPEND_STRING PROPERTY COMPILE_FLAGS " -DWITH_RELATIONSHIP_VALIDATION")
|
set_property(TARGET IfcConvert APPEND_STRING PROPERTY COMPILE_FLAGS " -DWITH_RELATIONSHIP_VALIDATION")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ find_package(Boost REQUIRED)
|
|||||||
file(GLOB CPP_FILES *.cpp)
|
file(GLOB CPP_FILES *.cpp)
|
||||||
set(SOURCE_FILES ${CPP_FILES})
|
set(SOURCE_FILES ${CPP_FILES})
|
||||||
add_executable(IfcGeomServer ${SOURCE_FILES})
|
add_executable(IfcGeomServer ${SOURCE_FILES})
|
||||||
target_link_libraries(IfcGeomServer IfcGeom ${kernel_libraries} ${OPENCASCADE_LIBRARIES})
|
target_link_libraries(IfcGeomServer IfcGeom ${kernel_libraries} ${OpenCASCADE_LIBRARIES})
|
||||||
|
|
||||||
install(TARGETS IfcGeomServer)
|
install(TARGETS IfcGeomServer)
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ if(HAS_MAX)
|
|||||||
tessint.lib
|
tessint.lib
|
||||||
viewfile.lib
|
viewfile.lib
|
||||||
zlibdll.lib
|
zlibdll.lib
|
||||||
${OPENCASCADE_LIBRARIES}
|
${OpenCASCADE_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(IfcMax_${max_year} PROPERTIES SUFFIX ".dli")
|
set_target_properties(IfcMax_${max_year} PROPERTIES SUFFIX ".dli")
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ if (WASM_BUILD)
|
|||||||
endif()
|
endif()
|
||||||
if("$ENV{LDFLAGS}" MATCHES ".undefined.suppress")
|
if("$ENV{LDFLAGS}" MATCHES ".undefined.suppress")
|
||||||
# On osx there is some state in the python dylib. With `-Wl,undefined,suppress` we can ignore the missing symbols at compile time.
|
# On osx there is some state in the python dylib. With `-Wl,undefined,suppress` we can ignore the missing symbols at compile time.
|
||||||
target_link_libraries(ifcopenshell_wrapper PRIVATE ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${LIBSVGFILL})
|
target_link_libraries(ifcopenshell_wrapper PRIVATE ${IFCOPENSHELL_LIBRARIES} ${OpenCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${LIBSVGFILL})
|
||||||
else()
|
else()
|
||||||
target_link_libraries(ifcopenshell_wrapper PRIVATE ${IFCOPENSHELL_LIBRARIES} ${LIBSVGFILL})
|
target_link_libraries(ifcopenshell_wrapper PRIVATE ${IFCOPENSHELL_LIBRARIES} ${LIBSVGFILL})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ set_target_properties(${targetName} PROPERTIES
|
|||||||
|
|
||||||
target_link_libraries(${targetName}
|
target_link_libraries(${targetName}
|
||||||
${IFCOPENSHELL_LIBRARIES}
|
${IFCOPENSHELL_LIBRARIES}
|
||||||
${OPENCASCADE_LIBRARIES}
|
${OpenCASCADE_LIBRARIES}
|
||||||
${OPENSCENEGRAPH_LIBRARIES}
|
${OPENSCENEGRAPH_LIBRARIES}
|
||||||
Qt${QT_VERSION}::Core
|
Qt${QT_VERSION}::Core
|
||||||
Qt${QT_VERSION}::Gui
|
Qt${QT_VERSION}::Gui
|
||||||
|
|||||||
Reference in New Issue
Block a user