Skip to content

Commit e12d2ee

Browse files
[cmake] improve installation support
1 parent 1098f12 commit e12d2ee

File tree

6 files changed

+16
-8
lines changed

6 files changed

+16
-8
lines changed

CMakeLists.txt

+9-3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ set(CMAKE_CXX_STANDARD "23" CMAKE_CXX_STANDARD_REQUIRED ON CMAKE_CXX_EXTENSIONS
4949

5050
include(CTest)
5151
include(FetchContent)
52+
include(GNUInstallDirs)
5253

5354
FetchContent_Declare(
5455
eigen
@@ -58,17 +59,20 @@ FetchContent_Declare(
5859
FetchContent_Declare(
5960
fmt
6061
URL "https://github.com/fmtlib/fmt/archive/refs/tags/9.1.0.tar.gz"
61-
URL_HASH MD5=21fac48cae8f3b4a5783ae06b443973a)
62+
URL_HASH MD5=21fac48cae8f3b4a5783ae06b443973a
63+
FIND_PACKAGE_ARGS NAMES FMT)
6264

6365
FetchContent_Declare(
6466
google_benchmark
6567
URL "https://github.com/google/benchmark/archive/refs/tags/v1.6.2.tar.gz"
66-
URL_HASH MD5=14d14849e075af116143a161bc3b927b)
68+
URL_HASH MD5=14d14849e075af116143a161bc3b927b
69+
FIND_PACKAGE_ARGS NAMES benchmark)
6770

6871
FetchContent_Declare(
6972
google_test
7073
URL "https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz"
71-
URL_HASH MD5=e82199374acdfda3f425331028eb4e2a)
74+
URL_HASH MD5=e82199374acdfda3f425331028eb4e2a
75+
FIND_PACKAGE_ARGS NAMES GTest)
7276

7377
FetchContent_MakeAvailable(eigen fmt google_test google_benchmark)
7478

@@ -78,3 +82,5 @@ add_subdirectory(sample)
7882
add_subdirectory(source)
7983
add_subdirectory(support)
8084
add_subdirectory(test)
85+
86+
install(DIRECTORY "include/fcarouge" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

INSTALL.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Build and run the tests and samples on all platforms:
2121
git clone --depth 1 https://github.com/FrancoisCarouge/Kalman.git "kalman"
2222
cmake -S "kalman" -B "build" -G "Ninja Multi-Config"
2323
cmake --build "build" --config "Debug" --parallel
24-
ctest --test-dir "build" --tests-regex "kalman_(test|sample)" --output-on-failure --parallel
24+
ctest --test-dir "build" --build-config "Debug" --tests-regex "kalman_(test|sample)" --output-on-failure --parallel
2525
```
2626

2727
## Benchmarks

benchmark/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ foreach(BENCHMARK ${SOURCES})
5959
"include")
6060
target_link_libraries(
6161
kalman_benchmark_${NAME}_driver
62-
PRIVATE eigen kalman benchmark::benchmark_main benchmark::benchmark)
62+
PRIVATE Eigen3::Eigen kalman benchmark::benchmark_main benchmark::benchmark)
6363
add_test(kalman_benchmark_${NAME} kalman_benchmark_${NAME}_driver
6464
"--benchmark_out=${NAME}.json")
6565
endforeach()

include/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,5 @@ endif()
7272

7373
add_library(kalman INTERFACE)
7474
target_include_directories(kalman INTERFACE ".")
75-
target_link_libraries(kalman INTERFACE ${LIBRARIES})
75+
target_link_libraries(kalman INTERFACE ${LIBRARIES} Eigen3::Eigen)
7676
target_compile_options(kalman INTERFACE ${OPTIONS})

sample/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ set(SOURCES
4848
foreach(SAMPLE ${SOURCES})
4949
get_filename_component(NAME ${SAMPLE} NAME_WE)
5050
add_executable(kalman_sample_${NAME}_driver ${SAMPLE})
51-
target_link_libraries(kalman_sample_${NAME}_driver PRIVATE eigen kalman main)
51+
target_link_libraries(kalman_sample_${NAME}_driver PRIVATE Eigen3::Eigen
52+
kalman main)
5253
add_test(kalman_sample_${NAME} kalman_sample_${NAME}_driver)
5354
endforeach()

test/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ set(SOURCES
4848
foreach(TEST ${SOURCES})
4949
get_filename_component(NAME ${TEST} NAME_WE)
5050
add_executable(kalman_test_${NAME}_driver ${TEST})
51-
target_link_libraries(kalman_test_${NAME}_driver PRIVATE eigen kalman main)
51+
target_link_libraries(kalman_test_${NAME}_driver PRIVATE Eigen3::Eigen kalman
52+
main)
5253
add_test(kalman_test_${NAME} kalman_test_${NAME}_driver)
5354
endforeach()

0 commit comments

Comments
 (0)