commit afa1afd4108d973e059e5f5ad68cf01efe7985da Author: Louis Dionne Date: Wed Apr 22 11:15:05 2020 -0400 [CMake] Bump CMake minimum version to 3.13.4 This upgrade should be friction-less because we've already been ensuring that CMake >= 3.13.4 is used. This is part of the effort discussed on llvm-dev here: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140578.html Differential Revision: https://reviews.llvm.org/D78648 diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index 948452661a3..1a6a20a271f 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0075) cmake_policy(SET CMP0075 NEW) diff --git a/clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt b/clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt index 42ee1d11db8..007ad4530d6 100644 --- a/clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt +++ b/clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt @@ -1,6 +1,6 @@ project(exec C) -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) include(CheckCCompilerFlag) check_c_compiler_flag("-std=c99" C99_SUPPORTED) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index fa62814b635..cfbd07a40e1 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -3,7 +3,7 @@ # An important constraint of the build is that it only produces libraries # based on the ability of the host toolchain to target various platforms. -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0075) cmake_policy(SET CMP0075 NEW) diff --git a/compiler-rt/cmake/Modules/CustomLibcxx/CMakeLists.txt b/compiler-rt/cmake/Modules/CustomLibcxx/CMakeLists.txt index e61c222587e..26d17ce6f14 100644 --- a/compiler-rt/cmake/Modules/CustomLibcxx/CMakeLists.txt +++ b/compiler-rt/cmake/Modules/CustomLibcxx/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) project(custom-libcxx C CXX) # Build static libcxxabi. diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt index 058bfc815a1..99aed905d75 100644 --- a/compiler-rt/lib/builtins/CMakeLists.txt +++ b/compiler-rt/lib/builtins/CMakeLists.txt @@ -3,7 +3,7 @@ # architecture-specific code in various subdirectories. if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) project(CompilerRTBuiltins C ASM) set(COMPILER_RT_STANDALONE_BUILD TRUE) diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt index 13e675f1096..9dd6281d410 100644 --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9.0) +cmake_minimum_required(VERSION 3.13.4) # RPATH settings on macOS do not affect INSTALL_NAME. if (POLICY CMP0068) diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt index 9472f191fbd..c12dc10fa45 100644 --- a/libclc/CMakeLists.txt +++ b/libclc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required( VERSION 3.9.2 ) +cmake_minimum_required(VERSION 3.13.4) project( libclc VERSION 0.2.0 LANGUAGES CXX ) include( GNUInstallDirs ) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index caf655d6799..a5adccf62a9 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -8,7 +8,7 @@ endif() #=============================================================================== # Setup Project #=============================================================================== -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0042) cmake_policy(SET CMP0042 NEW) # Set MACOSX_RPATH=YES by default diff --git a/libcxx/utils/ci/runtimes/CMakeLists.txt b/libcxx/utils/ci/runtimes/CMakeLists.txt index 43ebf9e4a19..f46ef63b809 100644 --- a/libcxx/utils/ci/runtimes/CMakeLists.txt +++ b/libcxx/utils/ci/runtimes/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0068) cmake_policy(SET CMP0068 NEW) diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index e4e20d950b8..534ef7e8c84 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -8,7 +8,7 @@ endif() # Setup Project #=============================================================================== -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0042) cmake_policy(SET CMP0042 NEW) # Set MACOSX_RPATH=YES by default diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index b50550dc376..c5b536532f3 100644 --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -2,7 +2,7 @@ # Setup Project #=============================================================================== -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) if (POLICY CMP0042) cmake_policy(SET CMP0042 NEW) # Set MACOSX_RPATH=YES by default diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt index 5090c935e75..e9bd1bd29c5 100644 --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt @@ -1,7 +1,7 @@ # Check if lld is built as a standalone project. if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) project(lld) - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(LLD_BUILT_STANDALONE TRUE) diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index b1c0597cf3b..14cfba1f64f 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -1,7 +1,4 @@ -cmake_minimum_required(VERSION 3.4.3) -if(CMAKE_SYSTEM_NAME STREQUAL Windows) - cmake_minimum_required(VERSION 3.13) -endif() +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0075) cmake_policy(SET CMP0075 NEW) diff --git a/lldb/tools/debugserver/CMakeLists.txt b/lldb/tools/debugserver/CMakeLists.txt index fc23cf3c7e2..eba5c414913 100644 --- a/lldb/tools/debugserver/CMakeLists.txt +++ b/lldb/tools/debugserver/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) project(Debugserver LANGUAGES C CXX ASM-ATT) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index a3353a40238..ddf80715632 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -1,12 +1,6 @@ # See docs/CMake.html for instructions about how to build LLVM with CMake. -cmake_minimum_required(VERSION 3.4.3) - -if ("${CMAKE_VERSION}" VERSION_LESS "3.13.4") - message(FATAL_ERROR - "Your CMake version is ${CMAKE_VERSION}. The minimum version of CMake " - "required to build LLVM is now 3.13.4.") -endif() +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0068) cmake_policy(SET CMP0068 NEW) diff --git a/llvm/docs/CMake.rst b/llvm/docs/CMake.rst index 1f908d3e95b..f96e34f21e8 100644 --- a/llvm/docs/CMake.rst +++ b/llvm/docs/CMake.rst @@ -34,7 +34,7 @@ Quick start We use here the command-line, non-interactive CMake interface. #. `Download `_ and install - CMake. Version 3.4.3 is the minimum required. + CMake. Version 3.13.4 is the minimum required. #. Open a shell. Your development tools must be reachable from this shell through the PATH environment variable. @@ -717,7 +717,7 @@ and uses them to build a simple application ``simple-tool``. .. code-block:: cmake - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) project(SimpleProject) find_package(LLVM REQUIRED CONFIG) diff --git a/llvm/docs/CMakePrimer.rst b/llvm/docs/CMakePrimer.rst index abfd08017fb..bc63ac1c027 100644 --- a/llvm/docs/CMakePrimer.rst +++ b/llvm/docs/CMakePrimer.rst @@ -54,7 +54,7 @@ program. The example uses only CMake language-defined functions. .. code-block:: cmake - cmake_minimum_required(VERSION 3.2) + cmake_minimum_required(VERSION 3.15) project(HelloWorld) add_executable(HelloWorld HelloWorld.cpp) @@ -64,13 +64,13 @@ block to define "APPLE" when targeting Apple platforms: .. code-block:: cmake - cmake_minimum_required(VERSION 3.2) + cmake_minimum_required(VERSION 3.15) project(HelloWorld) add_executable(HelloWorld HelloWorld.cpp) if(APPLE) target_compile_definitions(HelloWorld PUBLIC APPLE) endif() - + Variables, Types, and Scope =========================== @@ -93,7 +93,7 @@ example: set(var_name var1) set(${var_name} foo) # same as "set(var1 foo)" set(${${var_name}}_var bar) # same as "set(foo_var bar)" - + Dereferencing an unset variable results in an empty expansion. It is a common pattern in CMake to conditionally set variables knowing that it will be used in code paths that the variable isn't set. There are examples of this throughout @@ -107,7 +107,7 @@ An example of variable empty expansion is: set(extra_sources Apple.cpp) endif() add_executable(HelloWorld HelloWorld.cpp ${extra_sources}) - + In this example the ``extra_sources`` variable is only defined if you're targeting an Apple platform. For all other targets the ``extra_sources`` will be evaluated as empty before add_executable is given its arguments. @@ -124,7 +124,7 @@ defining lists: # Creates a list with members a, b, c, and d set(my_list a b c d) set(my_list "a;b;c;d") - + # Creates a string "a b c d" set(my_string "a b c d") @@ -141,7 +141,7 @@ make a list of variable names that refer to other lists. For example: set(a 1 2 3) set(b 4 5 6) set(c 7 8 9) - + With this layout you can iterate through the list of lists printing each value with the following code: @@ -152,7 +152,7 @@ with the following code: message(${value}) endforeach() endforeach() - + You'll notice that the inner foreach loop's list is doubly dereferenced. This is because the first dereference turns ``list_name`` into the name of the sub-list (a, b, or c in the example), then the second dereference is to get the value of @@ -385,7 +385,7 @@ result in some unexpected behavior if using unreferenced variables. For example: message("${var}") endforeach() endmacro() - + set(my_list a b c d) set(my_list_of_numbers 1 2 3 4) print_list(my_list_of_numbers) diff --git a/llvm/docs/GettingStarted.rst b/llvm/docs/GettingStarted.rst index 478571bd4c2..c30ebecc89e 100644 --- a/llvm/docs/GettingStarted.rst +++ b/llvm/docs/GettingStarted.rst @@ -167,7 +167,7 @@ uses the package and provides other details. =========================================================== ============ ========================================== Package Version Notes =========================================================== ============ ========================================== -`CMake `__ >=3.4.3 Makefile/workspace generator +`CMake `__ >=3.13.4 Makefile/workspace generator `GCC `_ >=5.1.0 C/C++ compiler\ :sup:`1` `python `_ >=2.7 Automated test suite\ :sup:`2` `zlib `_ >=1.2.3.4 Compression library\ :sup:`3` diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index 0f29e24a26e..dc74a46c70b 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -7,7 +7,7 @@ # Setting CMake minimum required version should be at the very top of the file # if this is the entry point. if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) project(Runtimes C CXX ASM) endif() @@ -56,7 +56,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) set_property(GLOBAL APPEND PROPERTY SUB_COMPONENTS ${name}) endfunction() - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) project(Runtimes C CXX ASM) find_package(LLVM PATHS "${LLVM_BINARY_DIR}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) diff --git a/llvm/utils/benchmark/CMakeLists.txt b/llvm/utils/benchmark/CMakeLists.txt index 38bc8c6bc95..542c70ca494 100644 --- a/llvm/utils/benchmark/CMakeLists.txt +++ b/llvm/utils/benchmark/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.12) +cmake_minimum_required(VERSION 3.13.4) # Tell cmake 3.0+ that it's safe to clear the PROJECT_VERSION variable in the # call to project() below. diff --git a/mlir/examples/standalone/CMakeLists.txt b/mlir/examples/standalone/CMakeLists.txt index 9f30f70f949..45dc80804aa 100644 --- a/mlir/examples/standalone/CMakeLists.txt +++ b/mlir/examples/standalone/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.13.4) if(POLICY CMP0068) cmake_policy(SET CMP0068 NEW) diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt index 6f0d9e72800..f18688f08c4 100644 --- a/openmp/CMakeLists.txt +++ b/openmp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8 FATAL_ERROR) +cmake_minimum_required(VERSION 3.13.4) # Add cmake directory to search for custom cmake functions. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) diff --git a/openmp/cmake/DetectTestCompiler/CMakeLists.txt b/openmp/cmake/DetectTestCompiler/CMakeLists.txt index c230fc8d4cf..7fa32a90972 100644 --- a/openmp/cmake/DetectTestCompiler/CMakeLists.txt +++ b/openmp/cmake/DetectTestCompiler/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.13.4) project(DetectTestCompiler C CXX) include(CheckCCompilerFlag) diff --git a/openmp/runtime/cmake/LibompCheckLinkerFlag.cmake b/openmp/runtime/cmake/LibompCheckLinkerFlag.cmake index 2b6cda676a6..e601e53f112 100644 --- a/openmp/runtime/cmake/LibompCheckLinkerFlag.cmake +++ b/openmp/runtime/cmake/LibompCheckLinkerFlag.cmake @@ -17,7 +17,7 @@ function(libomp_check_linker_flag flag boolean) set(library_source "int foo(int a) { return a*a; }") set(cmake_source - "cmake_minimum_required(VERSION 2.8) + "cmake_minimum_required(VERSION 3.13.4) project(foo C) set(CMAKE_SHARED_LINKER_FLAGS \"${flag}\") add_library(foo SHARED src_to_link.c)") diff --git a/parallel-libs/CMakeLists.txt b/parallel-libs/CMakeLists.txt index c1fcf45cd71..35ca8bc1bce 100644 --- a/parallel-libs/CMakeLists.txt +++ b/parallel-libs/CMakeLists.txt @@ -1 +1 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.13.4) diff --git a/parallel-libs/acxxel/CMakeLists.txt b/parallel-libs/acxxel/CMakeLists.txt index 547dd62d2fb..7e71446107a 100644 --- a/parallel-libs/acxxel/CMakeLists.txt +++ b/parallel-libs/acxxel/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.13.4) option(ACXXEL_ENABLE_UNIT_TESTS "enable acxxel unit tests" ON) option(ACXXEL_ENABLE_MULTI_DEVICE_UNIT_TESTS "enable acxxel multi-device unit tests" OFF) diff --git a/polly/CMakeLists.txt b/polly/CMakeLists.txt index 9939097f743..2e94512b2cf 100644 --- a/polly/CMakeLists.txt +++ b/polly/CMakeLists.txt @@ -1,7 +1,7 @@ # Check if this is a in tree build. if (NOT DEFINED LLVM_MAIN_SRC_DIR) project(Polly) - cmake_minimum_required(VERSION 3.4.3) + cmake_minimum_required(VERSION 3.13.4) # Where is LLVM installed? find_package(LLVM CONFIG REQUIRED) diff --git a/pstl/CMakeLists.txt b/pstl/CMakeLists.txt index 8e6e1354707..8bea8843589 100644 --- a/pstl/CMakeLists.txt +++ b/pstl/CMakeLists.txt @@ -5,7 +5,7 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # #===----------------------------------------------------------------------===## -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.13.4) set(PARALLELSTL_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/include/pstl/internal/pstl_config.h") file(STRINGS "${PARALLELSTL_VERSION_FILE}" PARALLELSTL_VERSION_SOURCE REGEX "#define _PSTL_VERSION .*$")