Skip to content

Commit 6eb8be5

Browse files
authored
A bunch of CMake fixes (#480)
1 parent aef075b commit 6eb8be5

File tree

2 files changed

+9
-26
lines changed

2 files changed

+9
-26
lines changed

CMakeLists.txt

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
cmake_minimum_required(VERSION 3.9)
2+
cmake_minimum_required(VERSION 3.9...3.31)
33
project(aws-c-s3 C)
44

55
option(ASSERT_LOCK_HELD "Enable ASSERT_SYNCED_DATA_LOCK_HELD for checking thread issue" OFF)
@@ -11,32 +11,17 @@ if (ASSERT_LOCK_HELD)
1111
add_definitions(-DASSERT_LOCK_HELD)
1212
endif()
1313

14-
if (DEFINED CMAKE_PREFIX_PATH)
15-
file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
14+
if (NOT IN_SOURCE_BUILD)
15+
# this is required so we can use aws-c-common's CMake modules
16+
find_package(aws-c-common REQUIRED)
1617
endif()
1718

18-
if (DEFINED CMAKE_INSTALL_PREFIX)
19-
file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX)
20-
endif()
21-
22-
23-
if (UNIX AND NOT APPLE)
24-
include(GNUInstallDirs)
25-
elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
26-
set(CMAKE_INSTALL_LIBDIR "lib")
27-
endif()
28-
29-
# This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
30-
set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
31-
string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
32-
# Append that generated list to the module search path
33-
list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
34-
3519
include(AwsCFlags)
3620
include(AwsCheckHeaders)
3721
include(AwsSharedLibSetup)
3822
include(AwsSanitizers)
3923
include(AwsFindPackage)
24+
include(GNUInstallDirs)
4025

4126
file(GLOB AWS_S3_ROOT_HEADERS
4227
"include/aws/s3/*.h"
@@ -100,7 +85,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS})
10085

10186
aws_prepare_shared_lib_exports(${PROJECT_NAME})
10287

103-
install(FILES ${AWS_S3_ROOT_HEADERS} DESTINATION "include/aws/s3" COMPONENT Development)
88+
install(FILES ${AWS_S3_ROOT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/s3" COMPONENT Development)
10489

10590
if (BUILD_SHARED_LIBS)
10691
set (TARGET_DIR "shared")
@@ -109,7 +94,7 @@ else()
10994
endif()
11095

11196
install(EXPORT "${PROJECT_NAME}-targets"
112-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/"
97+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${TARGET_DIR}/"
11398
NAMESPACE AWS::
11499
COMPONENT Development)
115100

@@ -118,7 +103,7 @@ configure_file("cmake/${PROJECT_NAME}-config.cmake"
118103
@ONLY)
119104

120105
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
121-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/"
106+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/"
122107
COMPONENT Development)
123108

124109
include(CTest)

samples/s3/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
project(s3 C)
22

3-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")
4-
53
file(GLOB S3_SRC
64
"*.c"
75
)
@@ -25,5 +23,5 @@ install(TARGETS ${S3_PROJECT_NAME}
2523
EXPORT ${S3_PROJECT_NAME}-targets
2624
COMPONENT Runtime
2725
RUNTIME
28-
DESTINATION bin
26+
DESTINATION ${CMAKE_INSTALL_BINDIR}
2927
COMPONENT Runtime)

0 commit comments

Comments
 (0)