Skip to content

Commit 4d52480

Browse files
committed
cmake - find dependencies from exported config file
1 parent f8144cd commit 4d52480

File tree

2 files changed

+35
-19
lines changed

2 files changed

+35
-19
lines changed

cmake/IfcOpenShellConfig.cmake.in

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,42 @@
44
set(IFCOPENSHELL_SCHEMA_VERSIONS @SCHEMA_VERSIONS@)
55

66
set(IFCOPENSHELL_WITH_OPENCASCADE @WITH_OPENCASCADE@)
7+
set(IFCOPENSHELL_WITH_CGAL @WITH_CGAL@)
8+
set(IFCOPENSHELL_IFCXML @IFCXML_SUPPORT@)
9+
set(IFCOPENSHELL_WITH_ROCKSDB @WITH_ROCKSDB@)
710

11+
include(CMakeFindDependencyMacro)
12+
13+
set(Boost_USE_STATIC_LIBS ON)
14+
set(Boost_USE_STATIC_RUNTIME OFF)
15+
set(Boost_USE_MULTITHREADED ON)
16+
set(Boost_COMPONENTS system program_options regex thread date_time iostreams)
17+
find_dependency(Boost CONFIG COMPONENTS ${Boost_COMPONENTS})
18+
find_dependency(Eigen3 CONFIG)
19+
20+
if(IFCOPENSHELL_WITH_ROCKSDB)
21+
find_dependency(zstd CONFIG)
22+
find_dependency(RocksDB CONFIG)
23+
endif()
24+
25+
if(IFCOPENSHELL_IFCXML)
26+
find_dependency(LibXml2 CONFIG)
27+
endif()
28+
29+
30+
if(IFCOPENSHELL_WITH_CGAL)
31+
find_dependency(CGAL CONFIG)
32+
endif()
33+
34+
if(IFCOPENSHELL_WITH_OPENCASCADE)
35+
find_dependency(OpenCASCADE CONFIG)
36+
if(OpenCASCADE_VERSION VERSION_LESS "7.7.0")
37+
# cmake configs < 7.7.0 were not adding include directories to targets automatically.
38+
set_target_properties(TKernel PROPERTIES
39+
INTERFACE_INCLUDE_DIRECTORIES "${OpenCASCADE_INCLUDE_DIR}"
40+
)
41+
endif()
42+
endif()
843

944
include("${CMAKE_CURRENT_LIST_DIR}/@CONFIG_TARGETS_FILENAME@")
1045

src/examples/CMakeLists.txt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,6 @@ if(STANDALONE_PROJECT)
2828
project(IfcOpenShellExamples)
2929

3030
set(CMAKE_CXX_STANDARD 17)
31-
set(Boost_USE_STATIC_LIBS ON)
32-
set(Boost_USE_STATIC_RUNTIME OFF)
33-
set(Boost_USE_MULTITHREADED ON)
34-
set(Boost_COMPONENTS system program_options regex thread date_time iostreams)
35-
find_package(Boost CONFIG REQUIRED COMPONENTS ${Boost_COMPONENTS})
36-
find_package(zstd CONFIG REQUIRED)
37-
find_package(RocksDB CONFIG REQUIRED)
38-
find_package(LibXml2 CONFIG REQUIRED)
3931
find_package(IfcOpenShell CONFIG REQUIRED)
4032
set(SCHEMA_VERSIONS ${IFCOPENSHELL_SCHEMA_VERSIONS})
4133
set(WITH_OPENCASCADE ${IFCOPENSHELL_WITH_OPENCASCADE})
@@ -61,17 +53,6 @@ if(SCHEMA_VERSIONS MATCHES "2x3")
6153
add_library(IfcHouseInterface INTERFACE)
6254

6355
if (STANDALONE_PROJECT)
64-
find_package(Eigen3 CONFIG REQUIRED)
65-
find_package(CGAL CONFIG REQUIRED)
66-
find_package(OpenCASCADE CONFIG REQUIRED)
67-
68-
if(OpenCASCADE_VERSION VERSION_LESS "7.7.0")
69-
# cmake configs < 7.7.0 were not adding include directories to targets automatically.
70-
set_target_properties(TKernel PROPERTIES
71-
INTERFACE_INCLUDE_DIRECTORIES "${OpenCASCADE_INCLUDE_DIR}"
72-
)
73-
endif()
74-
7556
target_link_libraries(IfcHouseInterface INTERFACE IfcOpenShell::IfcParse IfcOpenShell::geometry_serializer)
7657
else()
7758
target_link_libraries(IfcHouseInterface INTERFACE IfcParse geometry_serializer)

0 commit comments

Comments
 (0)