From 6be054e611c6dca5d473b3d4582162564f8064b8 Mon Sep 17 00:00:00 2001 From: Tim Kaune <tim.kaune@gmx.de> Date: Wed, 19 Mar 2025 11:36:36 +0100 Subject: [PATCH] Replace custom HandlePolicies script with native CMake feature Bump minimum required CMake version to 3.30 for package init fixes Remove now obsolete script file --- CMakeLists.txt | 6 +-- README.md | 4 +- cmake/HandlePolicies.cmake | 38 ------------------- packaging/CMakeLists.txt | 2 - .../LoadStaticSharedTargetsConfig.cmake.in | 8 +--- tests/helpers/test_case_wrapper.cmake | 12 +----- 6 files changed, 6 insertions(+), 64 deletions(-) delete mode 100644 cmake/HandlePolicies.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 529c666..5ce9e39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,13 +23,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ]] -cmake_minimum_required(VERSION 3.25) - set(CMAKE_MAXIMUM_SUPPORTED_VERSION 3.31) -include("./cmake/HandlePolicies.cmake" NO_POLICY_SCOPE) +cmake_minimum_required(VERSION 3.30...${CMAKE_MAXIMUM_SUPPORTED_VERSION}) -project(LoadStaticSharedTargets VERSION 1.7.0 LANGUAGES NONE) +project(LoadStaticSharedTargets VERSION 1.8.0 LANGUAGES NONE) include(GNUInstallDirs) diff --git a/README.md b/README.md index 57da35a..42d3b8e 100644 --- a/README.md +++ b/README.md @@ -131,9 +131,9 @@ include(FetchContent) FetchContent_Declare( LoadStaticSharedTargets GIT_REPOSITORY "https://github.com/lepus2589/LoadStaticSharedTargets.git" - GIT_TAG v1.7.0 + GIT_TAG v1.8.0 SYSTEM - FIND_PACKAGE_ARGS 1.7.0 CONFIG NAMES LoadStaticSharedTargets + FIND_PACKAGE_ARGS 1.8.0 CONFIG NAMES LoadStaticSharedTargets ) set(LoadStaticSharedTargets_INCLUDE_PACKAGING TRUE) FetchContent_MakeAvailable(LoadStaticSharedTargets) diff --git a/cmake/HandlePolicies.cmake b/cmake/HandlePolicies.cmake deleted file mode 100644 index c1d5f15..0000000 --- a/cmake/HandlePolicies.cmake +++ /dev/null @@ -1,38 +0,0 @@ -#[[ -MIT License - -CMake build script for LoadStaticSharedTargets module -Copyright (c) 2025 Tim Kaune - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -]] - -if (NOT DEFINED CMAKE_MAXIMUM_SUPPORTED_VERSION) - set(CMAKE_MAXIMUM_SUPPORTED_VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}) -endif () - -# If CMAKE_VERSION <= CMAKE_MAXIMUM_SUPPORTED_VERSION is used, set policies up -# to CMAKE_VERSION to NEW -if (${CMAKE_VERSION} VERSION_LESS_EQUAL ${CMAKE_MAXIMUM_SUPPORTED_VERSION}) - cmake_policy(VERSION ${CMAKE_VERSION}) -# If CMAKE_VERSION > CMAKE_MAXIMUM_SUPPORTED_VERSION is used, set policies up to -# CMAKE_MAXIMUM_SUPPORTED_VERSION to NEW -else () - cmake_policy(VERSION ${CMAKE_MAXIMUM_SUPPORTED_VERSION}) -endif() diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt index 68567da..bf01321 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt @@ -47,8 +47,6 @@ write_basic_package_version_file( COMPATIBILITY SameMajorVersion ) -file(READ "../cmake/HandlePolicies.cmake" HANDLE_POLICIES_SCRIPT OFFSET 1128) - configure_package_config_file( "LoadStaticSharedTargetsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/LoadStaticSharedTargetsConfig.cmake" diff --git a/packaging/LoadStaticSharedTargetsConfig.cmake.in b/packaging/LoadStaticSharedTargetsConfig.cmake.in index cca8939..7eb0234 100644 --- a/packaging/LoadStaticSharedTargetsConfig.cmake.in +++ b/packaging/LoadStaticSharedTargetsConfig.cmake.in @@ -25,13 +25,7 @@ SOFTWARE. @PACKAGE_INIT@ -cmake_minimum_required(VERSION @CMAKE_MINIMUM_REQUIRED_VERSION@) - -set(CMAKE_MAXIMUM_SUPPORTED_VERSION @CMAKE_MAXIMUM_SUPPORTED_VERSION@) - -# begin HANDLE_POLICIES_SCRIPT -@HANDLE_POLICIES_SCRIPT@ -# end HANDLE_POLICIES_SCRIPT +cmake_minimum_required(VERSION @CMAKE_MINIMUM_REQUIRED_VERSION@...@CMAKE_MAXIMUM_SUPPORTED_VERSION@) # include(LoadStaticSharedTargets) should work after this list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") diff --git a/tests/helpers/test_case_wrapper.cmake b/tests/helpers/test_case_wrapper.cmake index 6e2bfd2..413d9bd 100644 --- a/tests/helpers/test_case_wrapper.cmake +++ b/tests/helpers/test_case_wrapper.cmake @@ -23,17 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ]] -cmake_policy(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}) - -# If CMAKE_VERSION <= CMAKE_MAXIMUM_SUPPORTED_VERSION is used, set policies up -# to CMAKE_VERSION to NEW -if (${CMAKE_VERSION} VERSION_LESS_EQUAL ${CMAKE_MAXIMUM_SUPPORTED_VERSION}) - cmake_policy(VERSION ${CMAKE_VERSION}) -# If CMAKE_VERSION > CMAKE_MAXIMUM_SUPPORTED_VERSION is used, set policies up to -# CMAKE_MAXIMUM_SUPPORTED_VERSION to NEW -else () - cmake_policy(VERSION ${CMAKE_MAXIMUM_SUPPORTED_VERSION}) -endif() +cmake_policy(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}...${CMAKE_MAXIMUM_SUPPORTED_VERSION}) include("./helpers/assertions.cmake") include("../src/cmake/LoadStaticSharedTargets.cmake") -- GitLab