diff --git a/CMakeLists.txt b/CMakeLists.txt index b73ce26e19f5..3e0b5a4cd341 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16...3.23) +cmake_minimum_required(VERSION 3.22...3.23) project(Halide VERSION 15.0.0 DESCRIPTION "Halide compiler and libraries" diff --git a/README_cmake.md b/README_cmake.md index 0ceb4b931dc9..c152fd101912 100644 --- a/README_cmake.md +++ b/README_cmake.md @@ -46,7 +46,7 @@ we strongly suggest reading through the [CMake documentation][cmake-docs] first. ## Installing CMake -Halide requires at least version 3.16, which was released in November 2019. +Halide requires at least version 3.22, which was released in November 2021. Fortunately, getting a recent version of CMake couldn't be easier, and there are multiple good options on any system to do so. Generally, one should always have the most recent version of CMake installed system-wide. CMake is committed to @@ -95,8 +95,8 @@ is also a viable option. There are a few good ways to install a modern CMake on Ubuntu: -1. If you're on Ubuntu Linux 20.04 (focal), then simply running - `sudo apt install cmake` will get you CMake 3.16. +1. If you're on Ubuntu Linux 22.04 (Jammy Jellyfish), then simply running + `sudo apt install cmake` will get you CMake 3.22. 2. If you are on an older Ubuntu release or would like to use the newest CMake, try installing via the snap store: `snap install cmake`. Be sure you do not already have `cmake` installed via APT. The snap package automatically stays @@ -542,7 +542,7 @@ No matter how you intend to use Halide, you will need some basic CMake boilerplate. ```cmake -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(HalideExample) set(CMAKE_CXX_STANDARD 17) # or newer @@ -1009,7 +1009,7 @@ using [`install(FILES)`][install-files] and the # Contributing CMake code to Halide When contributing new CMake code to Halide, keep in mind that the minimum -version is 3.16. Therefore, it is possible (and indeed required) to use modern +version is 3.22. Therefore, it is possible (and indeed required) to use modern CMake best practices. Like any large and complex system with a dedication to preserving backwards diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index b6e0f074eb02..ace6f8e89d42 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -2,7 +2,7 @@ # Test apps from the perspective of a consuming project. ## -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(Halide_apps) if (WIN32) diff --git a/apps/HelloWasm/CMakeLists.txt b/apps/HelloWasm/CMakeLists.txt index ad2470e1e9db..a88bdb5e505d 100644 --- a/apps/HelloWasm/CMakeLists.txt +++ b/apps/HelloWasm/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(HelloWasm) enable_testing() diff --git a/apps/bgu/CMakeLists.txt b/apps/bgu/CMakeLists.txt index 60f79339ff6d..0a2f9eb82eec 100644 --- a/apps/bgu/CMakeLists.txt +++ b/apps/bgu/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(bgu) enable_testing() diff --git a/apps/bilateral_grid/CMakeLists.txt b/apps/bilateral_grid/CMakeLists.txt index 51b166a64a77..2b32f0911755 100644 --- a/apps/bilateral_grid/CMakeLists.txt +++ b/apps/bilateral_grid/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(bilateral_grid) enable_testing() diff --git a/apps/blur/CMakeLists.txt b/apps/blur/CMakeLists.txt index ac46ec980995..f4c3f5324a84 100644 --- a/apps/blur/CMakeLists.txt +++ b/apps/blur/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(blur) enable_testing() diff --git a/apps/c_backend/CMakeLists.txt b/apps/c_backend/CMakeLists.txt index 92a18f679b2b..0d134532dda8 100644 --- a/apps/c_backend/CMakeLists.txt +++ b/apps/c_backend/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(c_backend) enable_testing() diff --git a/apps/camera_pipe/CMakeLists.txt b/apps/camera_pipe/CMakeLists.txt index 04a700bd847c..0d5a94e26614 100644 --- a/apps/camera_pipe/CMakeLists.txt +++ b/apps/camera_pipe/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(camera_pipe) enable_testing() diff --git a/apps/conv_layer/CMakeLists.txt b/apps/conv_layer/CMakeLists.txt index e3df023cac8f..94674097d290 100644 --- a/apps/conv_layer/CMakeLists.txt +++ b/apps/conv_layer/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(conv_layer) enable_testing() diff --git a/apps/cuda_mat_mul/CMakeLists.txt b/apps/cuda_mat_mul/CMakeLists.txt index b8bc8ad3e6eb..352553ec048b 100644 --- a/apps/cuda_mat_mul/CMakeLists.txt +++ b/apps/cuda_mat_mul/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(cuda_mat_mul) # This just checks whether CUDA is available ahead of time to allow diff --git a/apps/depthwise_separable_conv/CMakeLists.txt b/apps/depthwise_separable_conv/CMakeLists.txt index 6040f85f5f6a..11e24f335d11 100644 --- a/apps/depthwise_separable_conv/CMakeLists.txt +++ b/apps/depthwise_separable_conv/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(depthwise_separable_conv) enable_testing() diff --git a/apps/fft/CMakeLists.txt b/apps/fft/CMakeLists.txt index 52165f7ce8a8..d126c60b6647 100644 --- a/apps/fft/CMakeLists.txt +++ b/apps/fft/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(fft) enable_testing() diff --git a/apps/hannk/CMakeLists.txt b/apps/hannk/CMakeLists.txt index 8a36ab583b16..741a828d02e7 100644 --- a/apps/hannk/CMakeLists.txt +++ b/apps/hannk/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(hannk) # We need to set this for some of the subprojects pulled in by TFLite (eg flatbuffers) diff --git a/apps/hannk/cmake/superbuild/CMakeLists.txt b/apps/hannk/cmake/superbuild/CMakeLists.txt index d5eeaf0a11c0..1ae17705f3cd 100644 --- a/apps/hannk/cmake/superbuild/CMakeLists.txt +++ b/apps/hannk/cmake/superbuild/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16...3.21) +cmake_minimum_required(VERSION 3.22...3.23) project(hannk_superbuild LANGUAGES NONE) ## diff --git a/apps/harris/CMakeLists.txt b/apps/harris/CMakeLists.txt index 173d4bf71f80..135129be8752 100644 --- a/apps/harris/CMakeLists.txt +++ b/apps/harris/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(harris) enable_testing() diff --git a/apps/hist/CMakeLists.txt b/apps/hist/CMakeLists.txt index aa8a532d0558..7aebca4984ec 100644 --- a/apps/hist/CMakeLists.txt +++ b/apps/hist/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(hist) enable_testing() diff --git a/apps/iir_blur/CMakeLists.txt b/apps/iir_blur/CMakeLists.txt index 44ba79e5d41a..6e61e7ecd0ee 100644 --- a/apps/iir_blur/CMakeLists.txt +++ b/apps/iir_blur/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(iir_blur) enable_testing() diff --git a/apps/interpolate/CMakeLists.txt b/apps/interpolate/CMakeLists.txt index 49addcf16dc5..d723ac3b35da 100644 --- a/apps/interpolate/CMakeLists.txt +++ b/apps/interpolate/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(interpolate) enable_testing() diff --git a/apps/lens_blur/CMakeLists.txt b/apps/lens_blur/CMakeLists.txt index 194cccd37daf..dcd9a70e4ac7 100644 --- a/apps/lens_blur/CMakeLists.txt +++ b/apps/lens_blur/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(lens_blur) enable_testing() diff --git a/apps/linear_algebra/CMakeLists.txt b/apps/linear_algebra/CMakeLists.txt index a9def55c6667..e2e96dc4f28d 100644 --- a/apps/linear_algebra/CMakeLists.txt +++ b/apps/linear_algebra/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(linear_algebra) enable_testing() diff --git a/apps/local_laplacian/CMakeLists.txt b/apps/local_laplacian/CMakeLists.txt index 6086e178b854..077382da3a77 100644 --- a/apps/local_laplacian/CMakeLists.txt +++ b/apps/local_laplacian/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(local_laplacian) enable_testing() diff --git a/apps/max_filter/CMakeLists.txt b/apps/max_filter/CMakeLists.txt index 6c0b94bab7a1..68b228438c5f 100644 --- a/apps/max_filter/CMakeLists.txt +++ b/apps/max_filter/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(max_filter) enable_testing() diff --git a/apps/nl_means/CMakeLists.txt b/apps/nl_means/CMakeLists.txt index 651a7535cbc0..a92bedb14a3b 100644 --- a/apps/nl_means/CMakeLists.txt +++ b/apps/nl_means/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(nl_means) enable_testing() diff --git a/apps/resize/CMakeLists.txt b/apps/resize/CMakeLists.txt index 68b2effd3613..1b5d14233c74 100644 --- a/apps/resize/CMakeLists.txt +++ b/apps/resize/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(resize) enable_testing() diff --git a/apps/stencil_chain/CMakeLists.txt b/apps/stencil_chain/CMakeLists.txt index d2f422604e88..ed85b1ba0c36 100644 --- a/apps/stencil_chain/CMakeLists.txt +++ b/apps/stencil_chain/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(stencil_chain) enable_testing() diff --git a/apps/unsharp/CMakeLists.txt b/apps/unsharp/CMakeLists.txt index 7aed8269bbd0..443cf92fb0a3 100644 --- a/apps/unsharp/CMakeLists.txt +++ b/apps/unsharp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(unsharp) enable_testing() diff --git a/apps/wavelet/CMakeLists.txt b/apps/wavelet/CMakeLists.txt index 3136e819fec7..bd142bcf07c4 100644 --- a/apps/wavelet/CMakeLists.txt +++ b/apps/wavelet/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(wavelet) enable_testing() diff --git a/cmake/BundleStatic.cmake b/cmake/BundleStatic.cmake index f0edfb64d468..b83fc583cbd6 100644 --- a/cmake/BundleStatic.cmake +++ b/cmake/BundleStatic.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) ## # This module provides a utility for bundling a set of IMPORTED @@ -22,7 +22,7 @@ cmake_minimum_required(VERSION 3.16) ## # All of the IMPORTED_ and INTERFACE_ properties should be accounted for below. -# https://cmake.org/cmake/help/v3.16/manual/cmake-properties.7.html#properties-on-targets +# https://cmake.org/cmake/help/v3.22/manual/cmake-properties.7.html#properties-on-targets # Irrelevant properties: # IMPORTED_IMPLIB(_) # shared-only diff --git a/cmake/HalideGeneratorHelpers.cmake b/cmake/HalideGeneratorHelpers.cmake index b4465bf74d9b..a0329ee6396f 100644 --- a/cmake/HalideGeneratorHelpers.cmake +++ b/cmake/HalideGeneratorHelpers.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) include(${CMAKE_CURRENT_LIST_DIR}/HalideTargetHelpers.cmake) diff --git a/packaging/common/HalideConfig.cmake b/packaging/common/HalideConfig.cmake index 1a380a0f326b..729e938f971b 100644 --- a/packaging/common/HalideConfig.cmake +++ b/packaging/common/HalideConfig.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) macro(Halide_fail message) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${message}") diff --git a/packaging/common/HalideHelpersConfig.cmake b/packaging/common/HalideHelpersConfig.cmake index b35b491af5b5..739c465fdd55 100644 --- a/packaging/common/HalideHelpersConfig.cmake +++ b/packaging/common/HalideHelpersConfig.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) set(Halide_HOST_TARGET @Halide_HOST_TARGET@) diff --git a/python_bindings/CMakeLists.txt b/python_bindings/CMakeLists.txt index cdb8a5ae2540..979a3594b534 100644 --- a/python_bindings/CMakeLists.txt +++ b/python_bindings/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16...3.23) +cmake_minimum_required(VERSION 3.22...3.23) project(Halide_Python) include(CMakeDependentOption) diff --git a/test/integration/CMakeLists.txt b/test/integration/CMakeLists.txt index 9b1abbb6a60c..600b1d765a36 100644 --- a/test/integration/CMakeLists.txt +++ b/test/integration/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(integration_tests NONE) enable_testing() diff --git a/test/integration/aot/CMakeLists.txt b/test/integration/aot/CMakeLists.txt index 4e6ae6d2b3d0..b370a642339b 100644 --- a/test/integration/aot/CMakeLists.txt +++ b/test/integration/aot/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(aot) enable_testing() diff --git a/test/integration/jit/CMakeLists.txt b/test/integration/jit/CMakeLists.txt index c8d5a6546a96..a6f24342184a 100644 --- a/test/integration/jit/CMakeLists.txt +++ b/test/integration/jit/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(jit) enable_testing() diff --git a/test/integration/xc/CMakeLists.txt b/test/integration/xc/CMakeLists.txt index 0019a702bdac..8552e9cefc62 100644 --- a/test/integration/xc/CMakeLists.txt +++ b/test/integration/xc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(xc) enable_testing()