Skip to content

Commit

Permalink
A bunch of CMake fixes (#203)
Browse files Browse the repository at this point in the history
  • Loading branch information
graebm authored Jan 28, 2025
1 parent d34f70f commit c99f299
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 30 deletions.
33 changes: 9 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0.

cmake_minimum_required(VERSION 3.9)
cmake_minimum_required(VERSION 3.9...3.31)

project(aws-c-cal LANGUAGES C VERSION 0.1.0)

Expand All @@ -11,32 +11,17 @@ option(BYO_CRYPTO "Set this if you want to provide your own cryptography impleme
option(USE_OPENSSL "Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 compatible libcrypto" OFF)
option(AWS_USE_CRYPTO_SHARED_LIBS "Force c-cal to use shared libs in Findcrypto" OFF)

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

if (DEFINED CMAKE_INSTALL_PREFIX)
file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX)
endif()

if (UNIX AND NOT APPLE)
include(GNUInstallDirs)
elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
set(CMAKE_INSTALL_LIBDIR "lib")
endif()

# This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
# Append that generated list to the module search path
list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")

include(AwsCFlags)
include(AwsCheckHeaders)
include(AwsSharedLibSetup)
include(AwsSanitizers)
include(AwsFindPackage)
include(GNUInstallDirs)

file(GLOB AWS_CAL_HEADERS
"include/aws/cal/*.h"
Expand Down Expand Up @@ -157,7 +142,7 @@ configure_file("cmake/${PROJECT_NAME}-config.cmake"
@ONLY)

aws_check_headers(${PROJECT_NAME} ${AWS_CAL_HEADERS})
install(FILES ${AWS_CAL_HEADERS} DESTINATION "include/aws/cal" COMPONENT Development)
install(FILES ${AWS_CAL_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/cal" COMPONENT Development)

if (BUILD_SHARED_LIBS)
set (TARGET_DIR "shared")
Expand All @@ -166,20 +151,20 @@ else()
endif()

install(EXPORT "${PROJECT_NAME}-targets"
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${TARGET_DIR}/"
NAMESPACE AWS::
COMPONENT Development)

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
COMPONENT Development)

list(APPEND EXPORT_MODULES
"cmake/modules/Findcrypto.cmake"
)

install(FILES ${EXPORT_MODULES}
DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/modules"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/modules"
COMPONENT Development)

if (NOT CMAKE_CROSSCOMPILING AND NOT BYO_CRYPTO)
Expand Down
2 changes: 0 additions & 2 deletions bin/produce_x_platform_fuzz_corpus/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@

project(produce_x_platform_fuzz_corpus C)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")

file(GLOB PROFILE_SRC
"*.c"
)
Expand Down
2 changes: 0 additions & 2 deletions bin/run_x_platform_fuzz_corpus/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@

project(run_x_platform_fuzz_corpus C)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")

file(GLOB PROFILE_SRC
"*.c"
)
Expand Down
2 changes: 0 additions & 2 deletions bin/sha256_profile/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@

project(sha256_profile C)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")

file(GLOB PROFILE_SRC
"*.c"
)
Expand Down

0 comments on commit c99f299

Please sign in to comment.