Skip to content

Commit 0ce4d7a

Browse files
committed
Use relative paths for CMake package config files
Using relative paths in the 'install' command results in a CMake target file that does not contain hard-coded/machine dependent absolute paths to the binary library file. This is useful when building and installing the library on one machine then copying the installed files to be consumed on another machine. A common practice when using distributed builds.
1 parent fcbfc91 commit 0ce4d7a

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

CMakeLists.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ install(FILES "include/aws/logging/logging.h"
8787

8888
install(TARGETS ${PROJECT_NAME}
8989
EXPORT ${PROJECT_NAME}-targets
90-
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
91-
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
92-
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
90+
ARCHIVE DESTINATION lib
91+
LIBRARY DESTINATION lib
92+
RUNTIME DESTINATION bin)
9393

9494
configure_file("${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake"
9595
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
@@ -98,12 +98,12 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake"
9898
export(EXPORT "${PROJECT_NAME}-targets" NAMESPACE AWS::)
9999

100100
install(EXPORT "${PROJECT_NAME}-targets"
101-
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}/cmake/"
101+
DESTINATION "lib/${PROJECT_NAME}/cmake/"
102102
NAMESPACE AWS::)
103103

104104
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
105-
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}/cmake/")
105+
DESTINATION "lib/${PROJECT_NAME}/cmake/")
106106

107107
install(PROGRAMS "${CMAKE_SOURCE_DIR}/packaging/packager"
108-
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}/cmake/")
108+
DESTINATION "lib/${PROJECT_NAME}/cmake/")
109109

ci/codebuild/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ mkdir build
88
cd build
99
cmake .. -GNinja -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/install $@
1010
ninja
11-
11+
ninja install

0 commit comments

Comments
 (0)