Skip to content

Commit 5d97863

Browse files
authored
Merge pull request #98 from filippobrizzi/fix_cmake_install
Fix: cmake install shouldn't hardcode install path
2 parents 10ced29 + 37bbdcf commit 5d97863

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

install/PackageConfig.cmake.in

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,23 @@
1414

1515
@PACKAGE_INIT@
1616

17+
# Compute the installation prefix relative to this file.
18+
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
19+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
20+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
21+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
22+
if(_IMPORT_PREFIX STREQUAL "/")
23+
set(_IMPORT_PREFIX "")
24+
endif()
25+
1726
add_library(zenohcxx INTERFACE)
18-
target_include_directories(zenohcxx INTERFACE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
27+
target_include_directories(zenohcxx INTERFACE "${_IMPORT_PREFIX}/@CMAKE_INSTALL_INCLUDEDIR@")
1928

2029
# zenohcxx for zenohpico
2130
if(TARGET zenohpico)
2231
add_library(zenohcxx_zenohpico INTERFACE)
2332
target_compile_definitions(zenohcxx_zenohpico INTERFACE ZENOHCXX_ZENOHPICO)
24-
target_include_directories(zenohcxx_zenohpico INTERFACE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
33+
target_include_directories(zenohcxx_zenohpico INTERFACE "${_IMPORT_PREFIX}/@CMAKE_INSTALL_INCLUDEDIR@")
2534
add_dependencies(zenohcxx_zenohpico zenohpico)
2635
target_link_libraries(zenohcxx_zenohpico INTERFACE zenohpico)
2736
add_library(zenohcxx::zenohpico ALIAS zenohcxx_zenohpico)
@@ -32,7 +41,7 @@ if(TARGET zenohc::lib)
3241
message(STATUS "defined lib target zenohcxx::zenohc::lib for zenohc::lib")
3342
add_library(zenohcxx_zenohc_lib INTERFACE)
3443
target_compile_definitions(zenohcxx_zenohc_lib INTERFACE ZENOHCXX_ZENOHC)
35-
target_include_directories(zenohcxx_zenohc_lib INTERFACE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
44+
target_include_directories(zenohcxx_zenohc_lib INTERFACE "${_IMPORT_PREFIX}/@CMAKE_INSTALL_INCLUDEDIR@")
3645
add_dependencies(zenohcxx_zenohc_lib zenohc::lib)
3746
target_link_libraries(zenohcxx_zenohc_lib INTERFACE zenohc::lib)
3847
add_library(zenohcxx::zenohc::lib ALIAS zenohcxx_zenohc_lib)
@@ -43,7 +52,7 @@ if(TARGET zenohc::shared)
4352
message(STATUS "defined lib target if(TARGET zenohc::shared for zenohc::shared")
4453
add_library(zenohcxx_zenohc_shared INTERFACE)
4554
target_compile_definitions(zenohcxx_zenohc_shared INTERFACE ZENOHCXX_ZENOHC)
46-
target_include_directories(zenohcxx_zenohc_shared INTERFACE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
55+
target_include_directories(zenohcxx_zenohc_shared INTERFACE "${_IMPORT_PREFIX}/@CMAKE_INSTALL_INCLUDEDIR@")
4756
add_dependencies(zenohcxx_zenohc_shared zenohc::shared)
4857
target_link_libraries(zenohcxx_zenohc_shared INTERFACE zenohc::shared)
4958
add_library(zenohcxx::zenohc::shared ALIAS zenohcxx_zenohc_shared)
@@ -54,7 +63,7 @@ if(TARGET zenohc::static)
5463
message(STATUS "defined lib target zenohcxx::zenohc::static for zenohc::static")
5564
add_library(zenohcxx_zenohc_static INTERFACE)
5665
target_compile_definitions(zenohcxx_zenohc_static INTERFACE ZENOHCXX_ZENOHC)
57-
target_include_directories(zenohcxx_zenohc_static INTERFACE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
66+
target_include_directories(zenohcxx_zenohc_static INTERFACE "${_IMPORT_PREFIX}/@CMAKE_INSTALL_INCLUDEDIR@")
5867
add_dependencies(zenohcxx_zenohc_static zenohc::static)
5968
target_link_libraries(zenohcxx_zenohc_static INTERFACE zenohc::static)
6069
add_library(zenohcxx::zenohc::static ALIAS zenohcxx_zenohc_static)

0 commit comments

Comments
 (0)