@@ -16,13 +16,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
16
16
set (CMAKE_CXX_SCAN_FOR_MODULES OFF )
17
17
set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
18
18
19
- find_package (boost_container CONFIG REQUIRED)
20
- find_package (boost_container_hash CONFIG REQUIRED)
21
- find_package (boost_endian CONFIG REQUIRED)
22
- find_package (boost_iterator CONFIG REQUIRED)
23
- find_package (boost_program_options CONFIG REQUIRED)
24
- find_package (boost_program_options CONFIG REQUIRED)
25
- find_package (boost_range CONFIG REQUIRED)
19
+ find_package (Boost CONFIG REQUIRED COMPONENTS container container_hash endian iterator program_options range)
26
20
find_package (CGAL CONFIG REQUIRED)
27
21
find_package (FastFloat CONFIG REQUIRED)
28
22
find_package (GTest CONFIG REQUIRED)
@@ -32,7 +26,8 @@ set(TARGET kigumi)
32
26
add_library (${TARGET} INTERFACE )
33
27
34
28
target_include_directories (${TARGET} INTERFACE
35
- ${CMAKE_CURRENT_SOURCE_DIR} /include
29
+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>"
30
+ "$<INSTALL_INTERFACE:include>"
36
31
)
37
32
38
33
target_link_libraries (${TARGET} INTERFACE
@@ -46,54 +41,27 @@ target_link_libraries(${TARGET} INTERFACE
46
41
)
47
42
48
43
if (KIGUMI_BUILD_BENCHES)
49
- find_package (Eigen3 CONFIG REQUIRED)
50
- find_package (libigl CONFIG REQUIRED)
51
- find_package (PkgConfig REQUIRED)
52
- pkg_check_modules(Clipper2 REQUIRED IMPORTED_TARGET Clipper2)
53
-
54
- include (FetchContent)
55
-
56
- FetchContent_Declare(
57
- geogram
58
- GIT_REPOSITORY https://github.com/BrunoLevy/geogram.git
59
- GIT_TAG main
60
- GIT_SHALLOW ON
61
- )
62
- set (GEOGRAM_LIB_ONLY ON CACHE BOOL "" )
63
- set (GEOGRAM_WITH_GRAPHICS OFF CACHE BOOL "" )
64
- set (GEOGRAM_WITH_HLBFGS OFF CACHE BOOL "" )
65
- set (GEOGRAM_WITH_LEGACY_NUMERICS OFF CACHE BOOL "" )
66
- set (GEOGRAM_WITH_LUA OFF CACHE BOOL "" )
67
- set (GEOGRAM_WITH_TETGEN OFF CACHE BOOL "" )
68
- set (GEOGRAM_WITH_TRIANGLE OFF CACHE BOOL "" )
69
- FetchContent_MakeAvailable(geogram)
70
-
71
- FetchContent_Declare(
72
- manifold
73
- GIT_REPOSITORY https://github.com/elalish/manifold.git
74
- GIT_TAG master
75
- GIT_SHALLOW ON
76
- )
77
- set (MANIFOLD_CROSS_SECTION OFF CACHE BOOL "" )
78
- set (MANIFOLD_TEST OFF CACHE BOOL "" )
79
- FetchContent_MakeAvailable(manifold)
80
-
81
- FetchContent_Declare(
82
- mcut
83
- GIT_REPOSITORY https://github.com/cutdigital/mcut.git
84
- GIT_TAG master
85
- GIT_SHALLOW ON
86
- )
87
- FetchContent_MakeAvailable(mcut)
88
-
89
44
add_subdirectory (benches)
90
45
endif ()
91
46
92
47
if (KIGUMI_BUILD_CLI)
93
48
add_subdirectory (cli)
49
+ install (TARGETS kigumi_cli)
94
50
endif ()
95
51
96
52
if (KIGUMI_BUILD_TESTS)
97
53
enable_testing ()
98
54
add_subdirectory (tests)
99
55
endif ()
56
+
57
+ install (TARGETS ${TARGET} EXPORT ${TARGET} Config)
58
+ install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /include /
59
+ DESTINATION include )
60
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR} /kigumiConfig.cmake
61
+ DESTINATION lib/cmake/kigumi
62
+ )
63
+ install (EXPORT ${TARGET} Config
64
+ FILE ${PROJECT_NAME} Targets.cmake
65
+ DESTINATION lib/cmake/${PROJECT_NAME}
66
+ NAMESPACE ${PROJECT_NAME} ::
67
+ )
0 commit comments