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