Skip to content

Commit ba6a28f

Browse files
authored
A bunch of CMake fixes (#50)
1 parent 1ae8664 commit ba6a28f

File tree

1 file changed

+9
-24
lines changed

1 file changed

+9
-24
lines changed

CMakeLists.txt

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,20 @@
11
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0.
33

4-
cmake_minimum_required(VERSION 3.9)
4+
cmake_minimum_required(VERSION 3.9...3.31)
55
project(aws-c-sdkutils LANGUAGES C VERSION 0.1.0)
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-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")
27-
2812
include(AwsCFlags)
2913
include(AwsCheckHeaders)
3014
include(AwsSharedLibSetup)
3115
include(AwsSanitizers)
3216
include(AwsFindPackage)
17+
include(GNUInstallDirs)
3318

3419
file(GLOB AWS_SDKUTILS_HEADERS
3520
"include/aws/sdkutils/*.h"
@@ -84,7 +69,7 @@ configure_file("cmake/${PROJECT_NAME}-config.cmake"
8469
@ONLY)
8570

8671
aws_check_headers(${PROJECT_NAME} ${AWS_SDKUTILS_HEADERS})
87-
install(FILES ${AWS_SDKUTILS_HEADERS} DESTINATION "include/aws/sdkutils" COMPONENT Development)
72+
install(FILES ${AWS_SDKUTILS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/sdkutils" COMPONENT Development)
8873

8974
if (BUILD_SHARED_LIBS)
9075
set (TARGET_DIR "shared")
@@ -93,16 +78,16 @@ else()
9378
endif()
9479

9580
install(EXPORT "${PROJECT_NAME}-targets"
96-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/"
81+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${TARGET_DIR}/"
9782
NAMESPACE AWS::
9883
COMPONENT Development)
9984

10085
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
101-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake"
86+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
10287
COMPONENT Development)
10388

10489
install(FILES ${EXPORT_MODULES}
105-
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/modules"
90+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/modules"
10691
COMPONENT Development)
10792

10893
if (NOT CMAKE_CROSSCOMPILING)

0 commit comments

Comments
 (0)