From 6f9d23ca931e35dde48a0e74e9d6c5cbe6624518 Mon Sep 17 00:00:00 2001 From: Michael Graeb Date: Fri, 20 Dec 2024 16:49:15 -0800 Subject: [PATCH 1/7] Various CMake improvements TODO: update codegenned source --- CMakeLists.txt | 25 ++++--------------- crt/aws-c-iot | 2 +- crt/aws-crt-cpp | 2 +- .../tests/mqtt_connect/CMakeLists.txt | 2 +- .../tests/mqtt_publish/CMakeLists.txt | 2 +- .../tests/mqtt_subscribe/CMakeLists.txt | 2 +- .../tests/shadow_update/CMakeLists.txt | 4 +-- devicedefender/CMakeLists.txt | 24 ++++-------------- discovery/CMakeLists.txt | 24 ++++-------------- eventstream_rpc/CMakeLists.txt | 24 ++++-------------- eventstream_rpc/tests/CMakeLists.txt | 13 +--------- greengrass_ipc/CMakeLists.txt | 24 ++++-------------- identity/CMakeLists.txt | 24 ++++-------------- iotdevicecommon/CMakeLists.txt | 24 ++++-------------- jobs/CMakeLists.txt | 24 ++++-------------- samples/CMakeLists.txt | 2 +- .../basic_report/CMakeLists.txt | 2 +- .../mqtt5_basic_report/CMakeLists.txt | 2 +- .../fleet_provisioning/CMakeLists.txt | 2 +- .../mqtt5_fleet_provisioning/CMakeLists.txt | 2 +- .../greengrass/basic_discovery/CMakeLists.txt | 2 +- samples/greengrass/ipc/CMakeLists.txt | 2 +- samples/jobs/job_execution/CMakeLists.txt | 2 +- .../jobs/mqtt5_job_execution/CMakeLists.txt | 2 +- samples/mqtt/basic_connect/CMakeLists.txt | 2 +- samples/mqtt/cognito_connect/CMakeLists.txt | 2 +- .../custom_authorizer_connect/CMakeLists.txt | 2 +- samples/mqtt/pkcs11_connect/CMakeLists.txt | 2 +- samples/mqtt/pkcs12_connect/CMakeLists.txt | 2 +- samples/mqtt/websocket_connect/CMakeLists.txt | 2 +- .../mqtt/windows_cert_connect/CMakeLists.txt | 2 +- .../CMakeLists.txt | 2 +- samples/mqtt5/mqtt5_pubsub/CMakeLists.txt | 2 +- .../mqtt5_shared_subscription/CMakeLists.txt | 2 +- samples/pub_sub/basic_pub_sub/CMakeLists.txt | 2 +- samples/pub_sub/cycle_pub_sub/CMakeLists.txt | 2 +- .../secure_tunnel/CMakeLists.txt | 2 +- .../tunnel_notification/CMakeLists.txt | 2 +- .../shadow/mqtt5_shadow_sync/CMakeLists.txt | 2 +- samples/shadow/shadow_sync/CMakeLists.txt | 2 +- secure_tunneling/CMakeLists.txt | 24 ++++-------------- .../tests/FleetProvisioning/CMakeLists.txt | 2 +- .../tests/JobsExecution/CMakeLists.txt | 2 +- .../tests/ShadowUpdate/CMakeLists.txt | 2 +- shadow/CMakeLists.txt | 24 ++++-------------- 45 files changed, 86 insertions(+), 238 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9e38de0e..5f7a989a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") include(AwsGetVersion) @@ -14,34 +14,16 @@ option(BUILD_DEPS "Builds aws common runtime dependencies as part of build. Turn option(USE_EXTERNAL_DEPS_SOURCES "Use dependencies provided by add_subdirectory command" OFF) option(BUILD_SAMPLES "(DEPRECATED) Build samples as part of the build" OFF) -if (DEFINED CMAKE_PREFIX_PATH) - file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) -endif() - -if (DEFINED CMAKE_INSTALL_PREFIX) - file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX) -endif() - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") -endif() +include(GNUInstallDirs) if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") set(FIND_LIBRARY_USE_LIB64_PATHS true) 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}) - if (NOT CMAKE_BUILD_TYPE) if (NOT WIN32) set(CMAKE_BUILD_TYPE "RelWithDebInfo") @@ -92,6 +74,9 @@ else() set(IN_SOURCE_BUILD ON) else() + # this is required so we can use aws-c-common's CMake modules + find_package(aws-c-common REQUIRED) + set(IN_SOURCE_BUILD OFF) endif() diff --git a/crt/aws-c-iot b/crt/aws-c-iot index aab341f10..4e800a513 160000 --- a/crt/aws-c-iot +++ b/crt/aws-c-iot @@ -1 +1 @@ -Subproject commit aab341f10bfd1e99da5202b8712b547443698e36 +Subproject commit 4e800a51352ee7feff770f89d15e93e507c53dc0 diff --git a/crt/aws-crt-cpp b/crt/aws-crt-cpp index fbd5310be..9cfdc499b 160000 --- a/crt/aws-crt-cpp +++ b/crt/aws-crt-cpp @@ -1 +1 @@ -Subproject commit fbd5310be54cc853807c06e85a9290560fc8f986 +Subproject commit 9cfdc499b508282c00764598e13f85ddc44cbad0 diff --git a/deviceadvisor/tests/mqtt_connect/CMakeLists.txt b/deviceadvisor/tests/mqtt_connect/CMakeLists.txt index 903b1dd7d..3ae432415 100644 --- a/deviceadvisor/tests/mqtt_connect/CMakeLists.txt +++ b/deviceadvisor/tests/mqtt_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt_connect CXX) diff --git a/deviceadvisor/tests/mqtt_publish/CMakeLists.txt b/deviceadvisor/tests/mqtt_publish/CMakeLists.txt index 2013ee1f2..84dc8757c 100644 --- a/deviceadvisor/tests/mqtt_publish/CMakeLists.txt +++ b/deviceadvisor/tests/mqtt_publish/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt_publish CXX) diff --git a/deviceadvisor/tests/mqtt_subscribe/CMakeLists.txt b/deviceadvisor/tests/mqtt_subscribe/CMakeLists.txt index dbb8290a1..67344199a 100644 --- a/deviceadvisor/tests/mqtt_subscribe/CMakeLists.txt +++ b/deviceadvisor/tests/mqtt_subscribe/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt_subscribe CXX) diff --git a/deviceadvisor/tests/shadow_update/CMakeLists.txt b/deviceadvisor/tests/shadow_update/CMakeLists.txt index 409358b21..b63ca65f5 100644 --- a/deviceadvisor/tests/shadow_update/CMakeLists.txt +++ b/deviceadvisor/tests/shadow_update/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(shadow_update CXX) @@ -23,6 +23,6 @@ endif () find_package(aws-crt-cpp REQUIRED) find_package(IotShadow-cpp REQUIRED) -install(TARGETS ${PROJECT_NAME} DESTINATION bin) +install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-crt-cpp AWS::IotShadow-cpp) diff --git a/devicedefender/CMakeLists.txt b/devicedefender/CMakeLists.txt index c53bd520d..4605d1917 100644 --- a/devicedefender/CMakeLists.txt +++ b/devicedefender/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotDeviceDefender-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotdevicedefender/Config.h") configure_file(include/aws/iotdevicedefender/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -75,7 +61,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotDeviceDefender-cpp @@ -104,7 +90,7 @@ endif() target_link_libraries(IotDeviceDefender-cpp IotDeviceCommon-cpp) -install(FILES ${AWS_IOTDEVICEDEFENDER_HEADERS} DESTINATION "include/aws/iotdevicedefender/" COMPONENT Development) +install(FILES ${AWS_IOTDEVICEDEFENDER_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotdevicedefender/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -121,7 +107,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotDeviceDefender-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotDeviceDefender-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotDeviceDefender-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -130,7 +116,7 @@ configure_file("cmake/iotdevicedefender-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotdevicedefender-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotDeviceDefender-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotDeviceDefender-cpp/" COMPONENT Development) if (BUILD_TESTING) diff --git a/discovery/CMakeLists.txt b/discovery/CMakeLists.txt index d3557c476..04c1e32f2 100644 --- a/discovery/CMakeLists.txt +++ b/discovery/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(Discovery-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/discovery/Config.h") configure_file(include/aws/discovery/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -75,7 +61,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS Discovery-cpp @@ -103,7 +89,7 @@ endif() target_link_libraries(Discovery-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_DISCOVERY_HEADERS} DESTINATION "include/aws/discovery/" COMPONENT Development) +install(FILES ${AWS_DISCOVERY_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/discovery/" COMPONENT Development) if (BUILD_SHARED_LIBS) set (TARGET_DIR "shared") @@ -120,7 +106,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "Discovery-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/Discovery-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Discovery-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -129,5 +115,5 @@ configure_file("cmake/discovery-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/discovery-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/Discovery-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Discovery-cpp/" COMPONENT Development) diff --git a/eventstream_rpc/CMakeLists.txt b/eventstream_rpc/CMakeLists.txt index 193d4173b..75596f6fd 100644 --- a/eventstream_rpc/CMakeLists.txt +++ b/eventstream_rpc/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(EventstreamRpc-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/eventstreamrpc/Config.h") configure_file(include/aws/eventstreamrpc/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -75,7 +61,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS EventstreamRpc-cpp @@ -102,7 +88,7 @@ endif() target_link_libraries(EventstreamRpc-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_EVENTSTREAMRPC_HEADERS} DESTINATION "include/aws/eventstreamrpc/" COMPONENT Development) +install(FILES ${AWS_EVENTSTREAMRPC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/eventstreamrpc/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -119,7 +105,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "EventstreamRpc-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/EventstreamRpc-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EventstreamRpc-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -128,7 +114,7 @@ configure_file("cmake/eventstreamrpc-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/eventstreamrpc-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/EventstreamRpc-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EventstreamRpc-cpp/" COMPONENT Development) if (BUILD_TESTING) diff --git a/eventstream_rpc/tests/CMakeLists.txt b/eventstream_rpc/tests/CMakeLists.txt index 988b2ef12..7d283c6f6 100644 --- a/eventstream_rpc/tests/CMakeLists.txt +++ b/eventstream_rpc/tests/CMakeLists.txt @@ -18,22 +18,11 @@ if (WIN32) endif () endif() -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() -install(FILES ${AWS_ECHOTESTRPC_HEADERS} DESTINATION "include/awstest/" COMPONENT Development) +install(FILES ${AWS_ECHOTESTRPC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/awstest/" COMPONENT Development) file(GLOB TEST_SRC "*.cpp") file(GLOB TEST_HDRS "*.h") diff --git a/greengrass_ipc/CMakeLists.txt b/greengrass_ipc/CMakeLists.txt index 890c8c188..c4be088d5 100644 --- a/greengrass_ipc/CMakeLists.txt +++ b/greengrass_ipc/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(GreengrassIpc-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/greengrass/Config.h") configure_file(include/aws/greengrass/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -83,7 +69,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS GreengrassIpc-cpp @@ -110,7 +96,7 @@ endif() target_link_libraries(GreengrassIpc-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_GREENGRASSIPC_HEADERS} DESTINATION "include/aws/greengrass/" COMPONENT Development) +install(FILES ${AWS_GREENGRASSIPC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/greengrass/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -127,7 +113,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "GreengrassIpc-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/GreengrassIpc-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/GreengrassIpc-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -136,5 +122,5 @@ configure_file("cmake/greengrassipc-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/greengrassipc-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/GreengrassIpc-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/GreengrassIpc-cpp/" COMPONENT Development) diff --git a/identity/CMakeLists.txt b/identity/CMakeLists.txt index 09ea945a5..ef0eed925 100644 --- a/identity/CMakeLists.txt +++ b/identity/CMakeLists.txt @@ -1,28 +1,14 @@ # This file is generated -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotIdentity-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotidentity/Config.h") configure_file(include/aws/iotidentity/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -77,7 +63,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotIdentity-cpp @@ -105,7 +91,7 @@ endif() target_link_libraries(IotIdentity-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_IOTIDENTITY_HEADERS} DESTINATION "include/aws/iotidentity/" COMPONENT Development) +install(FILES ${AWS_IOTIDENTITY_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotidentity/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -122,7 +108,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotIdentity-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotIdentity-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotIdentity-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -131,5 +117,5 @@ configure_file("cmake/iotidentity-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotidentity-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotIdentity-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotIdentity-cpp/" COMPONENT Development) diff --git a/iotdevicecommon/CMakeLists.txt b/iotdevicecommon/CMakeLists.txt index 9ab28e8b0..613962241 100644 --- a/iotdevicecommon/CMakeLists.txt +++ b/iotdevicecommon/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotDeviceCommon-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotdevicecommon/Config.h") configure_file(include/aws/iotdevicecommon/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -77,7 +63,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotDeviceCommon-cpp @@ -106,7 +92,7 @@ endif() target_link_libraries(IotDeviceCommon-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_IOTDEVICECOMMON_HEADERS} DESTINATION "include/aws/iotdevicecommon/" COMPONENT Development) +install(FILES ${AWS_IOTDEVICECOMMON_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotdevicecommon/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -123,7 +109,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotDeviceCommon-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotDeviceCommon-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotDeviceCommon-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -132,5 +118,5 @@ configure_file("cmake/iotdevicecommon-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotdevicecommon-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotDeviceCommon-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotDeviceCommon-cpp/" COMPONENT Development) diff --git a/jobs/CMakeLists.txt b/jobs/CMakeLists.txt index 5f436f8ec..613d5e65f 100644 --- a/jobs/CMakeLists.txt +++ b/jobs/CMakeLists.txt @@ -1,28 +1,14 @@ # This file is generated -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotJobs-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotjobs/Config.h") configure_file(include/aws/iotjobs/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -77,7 +63,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotJobs-cpp @@ -105,7 +91,7 @@ endif() target_link_libraries(IotJobs-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_IOTJOBS_HEADERS} DESTINATION "include/aws/iotjobs/" COMPONENT Development) +install(FILES ${AWS_IOTJOBS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotjobs/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -122,7 +108,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotJobs-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotJobs-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotJobs-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -131,5 +117,5 @@ configure_file("cmake/iotjobs-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotjobs-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotJobs-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotJobs-cpp/" COMPONENT Development) diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index 600180149..2d9193231 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(aws-iot-device-sdk-cpp-v2-samples) diff --git a/samples/device_defender/basic_report/CMakeLists.txt b/samples/device_defender/basic_report/CMakeLists.txt index 0e54da9d3..495933784 100644 --- a/samples/device_defender/basic_report/CMakeLists.txt +++ b/samples/device_defender/basic_report/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(basic-report CXX) diff --git a/samples/device_defender/mqtt5_basic_report/CMakeLists.txt b/samples/device_defender/mqtt5_basic_report/CMakeLists.txt index f7f87ccb0..90af4c7b1 100644 --- a/samples/device_defender/mqtt5_basic_report/CMakeLists.txt +++ b/samples/device_defender/mqtt5_basic_report/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5-basic-report CXX) diff --git a/samples/fleet_provisioning/fleet_provisioning/CMakeLists.txt b/samples/fleet_provisioning/fleet_provisioning/CMakeLists.txt index 71b470d6d..955f2fd62 100644 --- a/samples/fleet_provisioning/fleet_provisioning/CMakeLists.txt +++ b/samples/fleet_provisioning/fleet_provisioning/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(fleet-provisioning CXX) diff --git a/samples/fleet_provisioning/mqtt5_fleet_provisioning/CMakeLists.txt b/samples/fleet_provisioning/mqtt5_fleet_provisioning/CMakeLists.txt index 644023257..1271bd261 100644 --- a/samples/fleet_provisioning/mqtt5_fleet_provisioning/CMakeLists.txt +++ b/samples/fleet_provisioning/mqtt5_fleet_provisioning/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5-fleet-provisioning CXX) diff --git a/samples/greengrass/basic_discovery/CMakeLists.txt b/samples/greengrass/basic_discovery/CMakeLists.txt index b565c8d50..87de48568 100644 --- a/samples/greengrass/basic_discovery/CMakeLists.txt +++ b/samples/greengrass/basic_discovery/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(basic-discovery CXX) diff --git a/samples/greengrass/ipc/CMakeLists.txt b/samples/greengrass/ipc/CMakeLists.txt index e7b96c8e0..6a967e702 100644 --- a/samples/greengrass/ipc/CMakeLists.txt +++ b/samples/greengrass/ipc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(greengrass-ipc CXX) diff --git a/samples/jobs/job_execution/CMakeLists.txt b/samples/jobs/job_execution/CMakeLists.txt index c0009043c..b4c05f6dc 100644 --- a/samples/jobs/job_execution/CMakeLists.txt +++ b/samples/jobs/job_execution/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(job-execution CXX) diff --git a/samples/jobs/mqtt5_job_execution/CMakeLists.txt b/samples/jobs/mqtt5_job_execution/CMakeLists.txt index ec06a6d41..1dc0c37b8 100644 --- a/samples/jobs/mqtt5_job_execution/CMakeLists.txt +++ b/samples/jobs/mqtt5_job_execution/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5-job-execution CXX) diff --git a/samples/mqtt/basic_connect/CMakeLists.txt b/samples/mqtt/basic_connect/CMakeLists.txt index 0174831a0..ab27054d7 100644 --- a/samples/mqtt/basic_connect/CMakeLists.txt +++ b/samples/mqtt/basic_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(basic-connect CXX) diff --git a/samples/mqtt/cognito_connect/CMakeLists.txt b/samples/mqtt/cognito_connect/CMakeLists.txt index 394ebe1c4..2b1b5684a 100644 --- a/samples/mqtt/cognito_connect/CMakeLists.txt +++ b/samples/mqtt/cognito_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(cognito-connect CXX) diff --git a/samples/mqtt/custom_authorizer_connect/CMakeLists.txt b/samples/mqtt/custom_authorizer_connect/CMakeLists.txt index 266c53351..cf69edb32 100644 --- a/samples/mqtt/custom_authorizer_connect/CMakeLists.txt +++ b/samples/mqtt/custom_authorizer_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(custom-authorizer-connect CXX) diff --git a/samples/mqtt/pkcs11_connect/CMakeLists.txt b/samples/mqtt/pkcs11_connect/CMakeLists.txt index e512589f0..ced029a9b 100644 --- a/samples/mqtt/pkcs11_connect/CMakeLists.txt +++ b/samples/mqtt/pkcs11_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(pkcs11-connect CXX) diff --git a/samples/mqtt/pkcs12_connect/CMakeLists.txt b/samples/mqtt/pkcs12_connect/CMakeLists.txt index 43c996fad..885b127e0 100644 --- a/samples/mqtt/pkcs12_connect/CMakeLists.txt +++ b/samples/mqtt/pkcs12_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(pkcs12-connect CXX) diff --git a/samples/mqtt/websocket_connect/CMakeLists.txt b/samples/mqtt/websocket_connect/CMakeLists.txt index 7d7253569..e7230a6df 100644 --- a/samples/mqtt/websocket_connect/CMakeLists.txt +++ b/samples/mqtt/websocket_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(websocket-connect CXX) diff --git a/samples/mqtt/windows_cert_connect/CMakeLists.txt b/samples/mqtt/windows_cert_connect/CMakeLists.txt index 4448aa28d..7b31ddef1 100644 --- a/samples/mqtt/windows_cert_connect/CMakeLists.txt +++ b/samples/mqtt/windows_cert_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(windows-cert-connect CXX) diff --git a/samples/mqtt/x509_credentials_provider_connect/CMakeLists.txt b/samples/mqtt/x509_credentials_provider_connect/CMakeLists.txt index 48b55ab3b..1fc698ef6 100644 --- a/samples/mqtt/x509_credentials_provider_connect/CMakeLists.txt +++ b/samples/mqtt/x509_credentials_provider_connect/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(x509-credentials-provider-connect CXX) diff --git a/samples/mqtt5/mqtt5_pubsub/CMakeLists.txt b/samples/mqtt5/mqtt5_pubsub/CMakeLists.txt index 5435c3f58..ac20b6ee7 100644 --- a/samples/mqtt5/mqtt5_pubsub/CMakeLists.txt +++ b/samples/mqtt5/mqtt5_pubsub/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5_pubsub CXX) diff --git a/samples/mqtt5/mqtt5_shared_subscription/CMakeLists.txt b/samples/mqtt5/mqtt5_shared_subscription/CMakeLists.txt index eae2822d9..fe018f57c 100644 --- a/samples/mqtt5/mqtt5_shared_subscription/CMakeLists.txt +++ b/samples/mqtt5/mqtt5_shared_subscription/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5_shared_subscription CXX) diff --git a/samples/pub_sub/basic_pub_sub/CMakeLists.txt b/samples/pub_sub/basic_pub_sub/CMakeLists.txt index 21e471903..70a641458 100644 --- a/samples/pub_sub/basic_pub_sub/CMakeLists.txt +++ b/samples/pub_sub/basic_pub_sub/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(basic-pub-sub CXX) diff --git a/samples/pub_sub/cycle_pub_sub/CMakeLists.txt b/samples/pub_sub/cycle_pub_sub/CMakeLists.txt index 947aaa0a5..1d6a49962 100644 --- a/samples/pub_sub/cycle_pub_sub/CMakeLists.txt +++ b/samples/pub_sub/cycle_pub_sub/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(cycle-pub-sub CXX) diff --git a/samples/secure_tunneling/secure_tunnel/CMakeLists.txt b/samples/secure_tunneling/secure_tunnel/CMakeLists.txt index 41ef2c4f3..6b9e67324 100644 --- a/samples/secure_tunneling/secure_tunnel/CMakeLists.txt +++ b/samples/secure_tunneling/secure_tunnel/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(secure-tunnel CXX) diff --git a/samples/secure_tunneling/tunnel_notification/CMakeLists.txt b/samples/secure_tunneling/tunnel_notification/CMakeLists.txt index 69388d69e..86b229424 100644 --- a/samples/secure_tunneling/tunnel_notification/CMakeLists.txt +++ b/samples/secure_tunneling/tunnel_notification/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(tunnel-notification CXX) diff --git a/samples/shadow/mqtt5_shadow_sync/CMakeLists.txt b/samples/shadow/mqtt5_shadow_sync/CMakeLists.txt index 3dc9c1f07..07c3fb2b7 100644 --- a/samples/shadow/mqtt5_shadow_sync/CMakeLists.txt +++ b/samples/shadow/mqtt5_shadow_sync/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(mqtt5-shadow-sync CXX) diff --git a/samples/shadow/shadow_sync/CMakeLists.txt b/samples/shadow/shadow_sync/CMakeLists.txt index cf2270af4..8e2501ac2 100644 --- a/samples/shadow/shadow_sync/CMakeLists.txt +++ b/samples/shadow/shadow_sync/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(shadow-sync CXX) diff --git a/secure_tunneling/CMakeLists.txt b/secure_tunneling/CMakeLists.txt index 5b15026b6..43b6a7ffc 100644 --- a/secure_tunneling/CMakeLists.txt +++ b/secure_tunneling/CMakeLists.txt @@ -1,26 +1,12 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotSecureTunneling-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotsecuretunneling/Config.h") configure_file(include/aws/iotsecuretunneling/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -75,7 +61,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotSecureTunneling-cpp @@ -104,7 +90,7 @@ endif() target_link_libraries(IotSecureTunneling-cpp IotDeviceCommon-cpp) -install(FILES ${AWS_IOTSECURETUNNELING_HEADERS} DESTINATION "include/aws/iotsecuretunneling/" COMPONENT Development) +install(FILES ${AWS_IOTSECURETUNNELING_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotsecuretunneling/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -121,7 +107,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotSecureTunneling-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotSecureTunneling-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotSecureTunneling-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -130,6 +116,6 @@ configure_file("cmake/iotsecuretunneling-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotsecuretunneling-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotSecureTunneling-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotSecureTunneling-cpp/" COMPONENT Development) diff --git a/servicetests/tests/FleetProvisioning/CMakeLists.txt b/servicetests/tests/FleetProvisioning/CMakeLists.txt index b6a778f9d..3e751e893 100644 --- a/servicetests/tests/FleetProvisioning/CMakeLists.txt +++ b/servicetests/tests/FleetProvisioning/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(fleet_provisioning CXX) diff --git a/servicetests/tests/JobsExecution/CMakeLists.txt b/servicetests/tests/JobsExecution/CMakeLists.txt index 77dc0b6e1..1bc9cd583 100644 --- a/servicetests/tests/JobsExecution/CMakeLists.txt +++ b/servicetests/tests/JobsExecution/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(job-execution CXX) diff --git a/servicetests/tests/ShadowUpdate/CMakeLists.txt b/servicetests/tests/ShadowUpdate/CMakeLists.txt index 567781ffe..b73d13d3c 100644 --- a/servicetests/tests/ShadowUpdate/CMakeLists.txt +++ b/servicetests/tests/ShadowUpdate/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) # note: cxx-17 requires cmake 3.8, cxx-20 requires cmake 3.12 project(shadow-update CXX) diff --git a/shadow/CMakeLists.txt b/shadow/CMakeLists.txt index 1f717b8c5..7f7f3fd02 100644 --- a/shadow/CMakeLists.txt +++ b/shadow/CMakeLists.txt @@ -1,28 +1,14 @@ # This file is generated -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(IotShadow-cpp LANGUAGES CXX VERSION ${SIMPLE_VERSION}) -set(RUNTIME_DIRECTORY bin) - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - - if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) - endif() -endif() - set(GENERATED_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(GENERATED_INCLUDE_DIR "${GENERATED_ROOT_DIR}/include") set(GENERATED_CONFIG_HEADER "${GENERATED_INCLUDE_DIR}/aws/iotshadow/Config.h") configure_file(include/aws/iotshadow/Config.h.in ${GENERATED_CONFIG_HEADER} @ONLY) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake") - if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -77,7 +63,7 @@ if (BUILD_SHARED_LIBS) NAMELINK_SKIP COMPONENT Runtime RUNTIME - DESTINATION ${RUNTIME_DIRECTORY} + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) install(TARGETS IotShadow-cpp @@ -105,7 +91,7 @@ endif() target_link_libraries(IotShadow-cpp ${DEP_AWS_LIBS}) -install(FILES ${AWS_IOTSHADOW_HEADERS} DESTINATION "include/aws/iotshadow/" COMPONENT Development) +install(FILES ${AWS_IOTSHADOW_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iotshadow/" COMPONENT Development) if (BUILD_SHARED_LIBS) set(TARGET_DIR "shared") @@ -122,7 +108,7 @@ if (DEFINED SIMPLE_VERSION) endif() install(EXPORT "IotShadow-cpp-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotShadow-cpp/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotShadow-cpp/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -131,5 +117,5 @@ configure_file("cmake/iotshadow-cpp-config.cmake" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotshadow-cpp-config.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/IotShadow-cpp/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotShadow-cpp/" COMPONENT Development) From cdcf9dd7c2e22da5da90f77157ca2a00a0672483 Mon Sep 17 00:00:00 2001 From: Michael Graeb Date: Sun, 22 Dec 2024 23:00:26 -0800 Subject: [PATCH 2/7] Stop manually setting FIND_LIBRARY_USE_LIB64_PATHS, it's not necessary --- CMakeLists.txt | 4 ---- crt/aws-crt-cpp | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f7a989a8..28719bafb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,10 +20,6 @@ endif() include(GNUInstallDirs) -if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64") - set(FIND_LIBRARY_USE_LIB64_PATHS true) -endif() - if (NOT CMAKE_BUILD_TYPE) if (NOT WIN32) set(CMAKE_BUILD_TYPE "RelWithDebInfo") diff --git a/crt/aws-crt-cpp b/crt/aws-crt-cpp index 9cfdc499b..9d4eb82ee 160000 --- a/crt/aws-crt-cpp +++ b/crt/aws-crt-cpp @@ -1 +1 @@ -Subproject commit 9cfdc499b508282c00764598e13f85ddc44cbad0 +Subproject commit 9d4eb82eecf7f748e3421007adb0e92a3a735ca3 From b3adfb28be207fa5d3b188350bee70cee384c433 Mon Sep 17 00:00:00 2001 From: Michael Graeb Date: Sun, 22 Dec 2024 23:11:42 -0800 Subject: [PATCH 3/7] this test project is never installed anywhere, so remove its installation configuration --- deviceadvisor/tests/shadow_update/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/deviceadvisor/tests/shadow_update/CMakeLists.txt b/deviceadvisor/tests/shadow_update/CMakeLists.txt index b63ca65f5..f3c90da23 100644 --- a/deviceadvisor/tests/shadow_update/CMakeLists.txt +++ b/deviceadvisor/tests/shadow_update/CMakeLists.txt @@ -23,6 +23,4 @@ endif () find_package(aws-crt-cpp REQUIRED) find_package(IotShadow-cpp REQUIRED) -install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) - target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-crt-cpp AWS::IotShadow-cpp) From f661d209740f16c6e13d8a98d57224d33c5b95f8 Mon Sep 17 00:00:00 2001 From: Michael Graeb Date: Mon, 23 Dec 2024 10:44:43 -0800 Subject: [PATCH 4/7] whoops. forgot to update aws-c-iot --- crt/aws-c-iot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crt/aws-c-iot b/crt/aws-c-iot index 4e800a513..f6c76962e 160000 --- a/crt/aws-c-iot +++ b/crt/aws-c-iot @@ -1 +1 @@ -Subproject commit 4e800a51352ee7feff770f89d15e93e507c53dc0 +Subproject commit f6c76962efd49d0ac2f50d0e2fd53b17fa6e4e7c From 6e143c250414b58f2edcad97357aa1925e073a8f Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Wed, 5 Feb 2025 10:24:54 -0800 Subject: [PATCH 5/7] Update submodules --- crt/aws-c-iot | 2 +- crt/aws-crt-cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crt/aws-c-iot b/crt/aws-c-iot index f6c76962e..9f0c152ed 160000 --- a/crt/aws-c-iot +++ b/crt/aws-c-iot @@ -1 +1 @@ -Subproject commit f6c76962efd49d0ac2f50d0e2fd53b17fa6e4e7c +Subproject commit 9f0c152ed76af1a45d99fb98286707aa23c728af diff --git a/crt/aws-crt-cpp b/crt/aws-crt-cpp index 9d4eb82ee..9a820b302 160000 --- a/crt/aws-crt-cpp +++ b/crt/aws-crt-cpp @@ -1 +1 @@ -Subproject commit 9d4eb82eecf7f748e3421007adb0e92a3a735ca3 +Subproject commit 9a820b302264b2bfe2e3f61a443fb1c652e6bd79 From 8e9d49d61f7189b0f11c910760b6d30cf5c2835c Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Wed, 5 Feb 2025 11:10:47 -0800 Subject: [PATCH 6/7] Fix segfault --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed420b850..7baa64c48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ env: jobs: linux-compat: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: image: From 5d1454a7130eb3f232daedd0dfd8f1cb5eeff244 Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Wed, 5 Feb 2025 11:30:57 -0800 Subject: [PATCH 7/7] Downgrade smoketests --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7baa64c48..c0e7bb0ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -447,7 +447,7 @@ jobs: python3 ./devicedefender/script/DDTestRun.py mqtt5 # Runs the samples and ensures that everything is working linux-smoke-tests: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false permissions: