From a38428aa8b78de22e71edbcd0f674f4635b20955 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Sun, 17 Dec 2023 09:11:47 +0100 Subject: [PATCH] Update the minimum required CMake version in more places Co-authored-by: Steve Lhomme --- README.md | 2 +- docs/CMake API.md | 11 +++++------ examples/CMake/AudioPlugin/CMakeLists.txt | 2 +- examples/CMake/ConsoleApp/CMakeLists.txt | 2 +- examples/CMake/GuiApp/CMakeLists.txt | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7f4e4c23e7..d93ec80d55 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ For further help getting started, please refer to the JUCE ### CMake -Version 3.15 or higher is required. To use CMake, you will need to install it, +Version 3.22 or higher is required. To use CMake, you will need to install it, either from your system package manager or from the [official download page](https://cmake.org/download/). For comprehensive documentation on JUCE's CMake API, see the [JUCE CMake documentation](/docs/CMake%20API.md). For diff --git a/docs/CMake API.md b/docs/CMake API.md index 0f6df67e9c..670072acfd 100644 --- a/docs/CMake API.md +++ b/docs/CMake API.md @@ -2,7 +2,7 @@ ## System Requirements -- All project types require CMake 3.15 or higher. +- All project types require CMake 3.22 or higher. - Android targets are not currently supported. - WebView2 on Windows via JUCE_USE_WIN_WEBVIEW2 flag in juce_gui_extra is not currently supported. @@ -144,11 +144,10 @@ you can configure a Clang-cl build by passing "-T ClangCL" on your configuration If you wish to use Clang with GNU-like command-line instead, you can pass `-DCMAKE_CXX_COMPILER=clang++` and `-DCMAKE_C_COMPILER=clang` on your configuration commandline. clang++ and clang must be on your `PATH` for this to work. Only more recent versions of CMake -support Clang's GNU-like command-line on Windows. CMake 3.12 is not supported, CMake 3.15 has -support, CMake 3.20 or higher is recommended. Note that CMake doesn't seem to automatically link a -runtime library when building in this configuration, but this can be remedied by setting the -`MSVC_RUNTIME_LIBRARY` property. See the [official -documentation](https://cmake.org/cmake/help/v3.15/prop_tgt/MSVC_RUNTIME_LIBRARY.html) of this +support Clang's GNU-like command-line on Windows. Note that CMake doesn't seem to automatically +link a runtime library when building in this configuration, but this can be remedied by setting +the `MSVC_RUNTIME_LIBRARY` property. See the [official +documentation](https://cmake.org/cmake/help/v3.22/prop_tgt/MSVC_RUNTIME_LIBRARY.html) of this property for usage recommendations. ### A note about compile definitions diff --git a/examples/CMake/AudioPlugin/CMakeLists.txt b/examples/CMake/AudioPlugin/CMakeLists.txt index c808704ed6..e20d2e15d8 100644 --- a/examples/CMake/AudioPlugin/CMakeLists.txt +++ b/examples/CMake/AudioPlugin/CMakeLists.txt @@ -8,7 +8,7 @@ # CMake's behaviour is compatible with the named version. This is a standard CMake command, so more # information can be found in the CMake docs. -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.22) # The top-level CMakeLists.txt file for a project must contain a literal, direct call to the # `project()` command. `project()` sets up some helpful variables that describe source/binary diff --git a/examples/CMake/ConsoleApp/CMakeLists.txt b/examples/CMake/ConsoleApp/CMakeLists.txt index 690bf09eee..1edaa1db76 100644 --- a/examples/CMake/ConsoleApp/CMakeLists.txt +++ b/examples/CMake/ConsoleApp/CMakeLists.txt @@ -10,7 +10,7 @@ # CMake's behaviour is compatible with the named version. This is a standard CMake command, so more # information can be found in the CMake docs. -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.22) # The top-level CMakeLists.txt file for a project must contain a literal, direct call to the # `project()` command. `project()` sets up some helpful variables that describe source/binary diff --git a/examples/CMake/GuiApp/CMakeLists.txt b/examples/CMake/GuiApp/CMakeLists.txt index fd90b08ada..03be7abbf9 100644 --- a/examples/CMake/GuiApp/CMakeLists.txt +++ b/examples/CMake/GuiApp/CMakeLists.txt @@ -9,7 +9,7 @@ # CMake's behaviour is compatible with the named version. This is a standard CMake command, so more # information can be found in the CMake docs. -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.22) # The top-level CMakeLists.txt file for a project must contain a literal, direct call to the # `project()` command. `project()` sets up some helpful variables that describe source/binary