From 5e95839f8509036acfe5fa08d8e5cf6e5edacf7e Mon Sep 17 00:00:00 2001
From: Joris Vaillant <joris.vaillant@inria.fr>
Date: Mon, 2 Dec 2024 17:00:40 +0100
Subject: [PATCH] cmake: Fix warning with CMP0177 policy

---
 CMakeLists.txt | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 030a659c..db265d43 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,10 +68,26 @@ option(SUFFIX_SO_VERSION "Suffix library name with its version" OFF)
 option(BUILD_TESTING_SCIPY
        "Build the SciPy tests (scipy should be installed on the machine)" ON)
 
+# ----------------------------------------------------
+# --- Policy -----------------------------------------
+# CMake Policy setup
+# ----------------------------------------------------
+# Policy can be removed when cmake_minimum_required is updated.
+
+# We also set CMAKE_POLICY_DEFAULT_CMPXXXX because CMake modules can reset
+# policy and redefine some macros like `find_dependency` that will not use our
+# policy.
+
 # Use BoostConfig module distributed by boost library instead of using FindBoost
-# module distributed by CMake
+# module distributed by CMake (to remove in 3.30).
 if(POLICY CMP0167)
   cmake_policy(SET CMP0167 NEW)
+  set(CMAKE_POLICY_DEFAULT_CMP0167 NEW)
+endif()
+# install() DESTINATION paths are normalized (to remove in 3.31).
+if(POLICY CMP0177)
+  cmake_policy(SET CMP0177 NEW)
+  set(CMAKE_POLICY_DEFAULT_CMP0177 NEW)
 endif()
 include("${JRL_CMAKE_MODULES}/base.cmake")
 compute_project_args(PROJECT_ARGS LANGUAGES CXX)
-- 
GitLab