Skip to content

Commit 590c7b5

Browse files
authored
A bunch of CMake fixes (#497)
1 parent f734bd6 commit 590c7b5

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

CMakeLists.txt

+8-22
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,21 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.9...3.31)
22
project(aws-c-http C)
33

44
option(ENABLE_PROXY_INTEGRATION_TESTS "Whether to run the proxy integration tests that rely on pre-configured proxy" OFF)
55
option(ENABLE_LOCALHOST_INTEGRATION_TESTS "Whether to run the integration tests that rely on pre-configured localhost" OFF)
66

7-
if (DEFINED CMAKE_PREFIX_PATH)
8-
file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
7+
if (NOT IN_SOURCE_BUILD)
8+
# this is required so we can use aws-c-common's CMake modules
9+
find_package(aws-c-common REQUIRED)
910
endif()
1011

11-
if (DEFINED CMAKE_INSTALL_PREFIX)
12-
file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX)
13-
endif()
14-
15-
if (UNIX AND NOT APPLE)
16-
include(GNUInstallDirs)
17-
elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
18-
set(CMAKE_INSTALL_LIBDIR "lib")
19-
endif()
20-
21-
# This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
22-
set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
23-
string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
24-
# Append that generated list to the module search path
25-
list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
26-
2712
include(AwsCFlags)
2813
include(AwsCheckHeaders)
2914
include(AwsSharedLibSetup)
3015
include(AwsSanitizers)
3116
include(CheckCCompilerFlag)
3217
include(AwsFindPackage)
18+
include(GNUInstallDirs)
3319

3420
file(GLOB AWS_HTTP_HEADERS
3521
"include/aws/http/*.h"
@@ -71,7 +57,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS})
7157
aws_prepare_shared_lib_exports(${PROJECT_NAME})
7258

7359
aws_check_headers(${PROJECT_NAME} ${AWS_HTTP_HEADERS})
74-
install(FILES ${AWS_HTTP_HEADERS} DESTINATION "include/aws/http")
60+
install(FILES ${AWS_HTTP_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/http")
7561

7662
if (BUILD_SHARED_LIBS)
7763
set (TARGET_DIR "shared")
@@ -80,7 +66,7 @@ else()
8066
endif()
8167

8268
install(EXPORT "${PROJECT_NAME}-targets"
83-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/"
69+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${TARGET_DIR}/"
8470
NAMESPACE AWS::
8571
COMPONENT Development)
8672

@@ -89,7 +75,7 @@ configure_file("cmake/${PROJECT_NAME}-config.cmake"
8975
@ONLY)
9076

9177
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
92-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/"
78+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/"
9379
COMPONENT Development)
9480

9581
include(CTest)

bin/elasticurl/CMakeLists.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
project(elasticurl C)
22

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

0 commit comments

Comments
 (0)