From f2b4e42ca28e8df2384305225c2cf7935ac79d28 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Mon, 15 May 2023 15:21:56 -0700 Subject: [PATCH] Change how we set cmake policy (#1288) Summary: X-link: https://github.com/facebook/react-native/pull/37349 Pull Request resolved: https://github.com/facebook/yoga/pull/1288 Fixes https://github.com/facebook/yoga/issues/1283 New versions of CMake add "policies" which control how the build system acts wrt breaking changes. By default, CMake will emulate the behavior of the version specified in `cmake_minimum_required`. Setting a policy to true (to opt into new behavior where `cmake_minimum_required` is lower than the current version) seems actually just error out on the old versions. Googling around, apparently the way I should be doing this is to specify `` as part of `cmake_minimum_required `. https://gitlab.kitware.com/cmake/cmake/-/issues/20392 This should I think use new policies introduced up to 3.26 (what we test on right now), while letting 3.13 be the minimum. Reviewed By: cortinico Differential Revision: D45724864 fbshipit-source-id: 120cc2015a043605e7c07ef0459667643a4284b7 --- CMakeLists.txt | 2 +- benchmark/CMakeLists.txt | 2 +- java/CMakeLists.txt | 2 +- javascript/CMakeLists.txt | 2 +- tests/CMakeLists.txt | 3 +-- yoga/CMakeLists.txt | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4f8535c..f4ce73cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) project(yoga-all) set(CMAKE_VERBOSE_MAKEFILE on) diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt index deb4b7a2..ff06fa1e 100644 --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -4,7 +4,7 @@ # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) project(benchmark) set(CMAKE_VERBOSE_MAKEFILE on) diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index f1eac87e..d8afd671 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -3,7 +3,7 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) project(yogajni) set(CMAKE_VERBOSE_MAKEFILE on) diff --git a/javascript/CMakeLists.txt b/javascript/CMakeLists.txt index afb54bb5..15ea1e94 100644 --- a/javascript/CMakeLists.txt +++ b/javascript/CMakeLists.txt @@ -3,7 +3,7 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) set(CMAKE_VERBOSE_MAKEFILE on) project(yoga) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2b25ddb0..c48bfb9f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -4,7 +4,7 @@ # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) project(tests) set(CMAKE_VERBOSE_MAKEFILE on) @@ -15,7 +15,6 @@ set(YOGA_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..) include(${YOGA_ROOT}/cmake/project-defaults.cmake) # Fetch GTest -cmake_policy(SET CMP0135 NEW) FetchContent_Declare( googletest URL https://github.com/google/googletest/archive/refs/tags/release-1.12.1.zip diff --git a/yoga/CMakeLists.txt b/yoga/CMakeLists.txt index e51f3679..b6eca1ac 100644 --- a/yoga/CMakeLists.txt +++ b/yoga/CMakeLists.txt @@ -4,7 +4,7 @@ # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.13...3.26) project(yogacore) set(CMAKE_VERBOSE_MAKEFILE on)