From 2415a7a18aec93ecd804652c0ba14b61785013f5 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Mon, 15 May 2023 13:50:38 -0700 Subject: [PATCH] Change how we set cmake policy (#37349) 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: 21c4c6962b0882c5f90746cf343c718e287cc444 --- 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 e4f8535c20..f4ce73cc4b 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 deb4b7a2b2..ff06fa1e51 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 f1eac87e54..d8afd671c2 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 afb54bb551..15ea1e9472 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 2b25ddb07e..c48bfb9fb0 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 e51f367953..b6eca1ac72 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)