From 687e5bccf890ecca869f1400aaba906c4b8bbd20 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 27 Oct 2022 14:30:02 +0200 Subject: [PATCH] Revert "Harmonize cmake_policy() across standalone builds of all projects" This reverts commit 88d7508dc479210f07abccb17f0194b66264b125. It's reported to break builds when symlinking other projects inside the `tools` directory. --- clang/CMakeLists.txt | 2 -- cmake/Modules/CMakePolicy.cmake | 12 ------------ flang/CMakeLists.txt | 2 -- lld/CMakeLists.txt | 2 -- lldb/CMakeLists.txt | 2 -- lldb/cmake/modules/LLDBStandalone.cmake | 6 ++++++ llvm/CMakeLists.txt | 13 +++++++++++-- mlir/CMakeLists.txt | 5 ++--- 8 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 cmake/Modules/CMakePolicy.cmake diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index fcd09c1..6f590c8 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -1,6 +1,4 @@ cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) # If we are not building as a part of LLVM, build Clang as an # standalone project, using LLVM as an external library: diff --git a/cmake/Modules/CMakePolicy.cmake b/cmake/Modules/CMakePolicy.cmake deleted file mode 100644 index 0ec32ad..0000000 --- a/cmake/Modules/CMakePolicy.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# CMake policy settings shared between LLVM projects - -# CMP0114: ExternalProject step targets fully adopt their steps. -# New in CMake 3.19: https://cmake.org/cmake/help/latest/policy/CMP0114.html -if(POLICY CMP0114) - cmake_policy(SET CMP0114 OLD) -endif() -# CMP0116: Ninja generators transform `DEPFILE`s from `add_custom_command()` -# New in CMake 3.20. https://cmake.org/cmake/help/latest/policy/CMP0116.html -if(POLICY CMP0116) - cmake_policy(SET CMP0116 OLD) -endif() diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt index a938ab9..27cb22b 100644 --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -1,6 +1,4 @@ cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt index 964bc3f..be4ea85 100644 --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt @@ -1,6 +1,4 @@ cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) # If we are not building as a part of LLVM, build LLD as an # standalone project, using LLVM as an external library: diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index fad7b00d..12ba8a9 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -1,6 +1,4 @@ cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) # Add path for custom modules. set(CMAKE_MODULE_PATH diff --git a/lldb/cmake/modules/LLDBStandalone.cmake b/lldb/cmake/modules/LLDBStandalone.cmake index 3ce63f1..1a03c5a 100644 --- a/lldb/cmake/modules/LLDBStandalone.cmake +++ b/lldb/cmake/modules/LLDBStandalone.cmake @@ -1,3 +1,9 @@ +# CMP0116: Ninja generators transform `DEPFILE`s from `add_custom_command()` +# New in CMake 3.20. https://cmake.org/cmake/help/latest/policy/CMP0116.html +if(POLICY CMP0116) + cmake_policy(SET CMP0116 OLD) +endif() + if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS) set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake) endif() diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 5a81bd4..5b493a7 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -1,8 +1,17 @@ # See docs/CMake.html for instructions about how to build LLVM with CMake. cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) + +# CMP0114: ExternalProject step targets fully adopt their steps. +# New in CMake 3.19: https://cmake.org/cmake/help/latest/policy/CMP0114.html +if(POLICY CMP0114) + cmake_policy(SET CMP0114 OLD) +endif() +# CMP0116: Ninja generators transform `DEPFILE`s from `add_custom_command()` +# New in CMake 3.20. https://cmake.org/cmake/help/latest/policy/CMP0116.html +if(POLICY CMP0116) + cmake_policy(SET CMP0116 OLD) +endif() set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt index 3398868..5b6650d 100644 --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -1,7 +1,4 @@ # MLIR project. -cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) # Check if MLIR is built as a standalone project. if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) @@ -13,6 +10,8 @@ endif() include(GNUInstallDirs) if(MLIR_STANDALONE_BUILD) + cmake_minimum_required(VERSION 3.13.4) + find_package(LLVM CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) include(HandleLLVMOptions) -- 2.7.4