Update CMake minimum version

#1199
This commit is contained in:
Sascha Willems 2025-04-11 19:52:01 +02:00
parent b56067bd03
commit d1bdb1ec65
98 changed files with 292 additions and 102 deletions

View file

@ -1,6 +1,6 @@
# Building
The repository contains everything required to compile and build the examples on Windows, Linux, Android and MacOS using a C++ compiler that supports at least C++14. All required dependencies are included. The project uses [CMake](https://cmake.org/) as the build system.
The repository contains everything required to compile and build the examples on Windows, Linux, Android and MacOS using a C++ compiler that supports at least C++20. All required dependencies are included. The project uses [CMake](https://cmake.org/) as the build system, min. required version is CMake 3.10.0.
## General CMake options

View file

@ -1,7 +1,7 @@
# Copyright (C) 2016-2025 by Sascha Willems - www.saschawillems.de
# This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
cmake_minimum_required(VERSION 3.4 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
set(NAME vulkanExamples)
@ -26,11 +26,8 @@ OPTION(FORCE_VALIDATION "Forces validation on for all samples at compile time (p
set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)")
# Use FindVulkan module added with CMAKE 3.7
if (NOT CMAKE_VERSION VERSION_LESS 3.7.0)
message(STATUS "Using module to find Vulkan")
find_package(Vulkan)
endif()
message(STATUS "Using module to find Vulkan")
find_package(Vulkan)
IF(UNIX AND NOT APPLE)
set(LINUX TRUE)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME %EXAMPLE_FOLDER%)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME bloom)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME bufferdeviceaddress)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computecloth)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computecullandlod)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computeheadless)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computenbody)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computeparticles)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computeraytracing)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME computeshader)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME conditionalrender)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME conservativeraster)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME debugprintf)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME debugutils)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME deferred)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME deferredmultisampling)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME deferredshadows)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME descriptorbuffer)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME descriptorindexing)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME descriptorsets)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME displacement)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME distancefieldfonts)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME dynamicrendering)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME dynamicrenderingmultisampling)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME dynamicstate)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME dynamicuniformbuffer)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME gears)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME geometryshader)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME gltfloading)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME gltfscenerendering)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME gltfskinning)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME graphicspipelinelibrary)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME hdr)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME hostimagecopy)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME imgui)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME indirectdraw)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME inlineuniformblocks)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME inputattachments)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME instancing)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME meshshader)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME multisampling)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME multithreading)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME multiview)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME negativeviewportheight)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME occlusionquery)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME offscreen)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME oit)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME parallaxmapping)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME particlesystem)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pbrbasic)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pbribl)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pbrtexture)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pipelines)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pipelinestatistics)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pushconstants)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME pushdescriptors)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME radialblur)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME rayquery)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingbasic)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingcallable)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracinggltf)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingintersection)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingpositionfetch)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingreflections)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingsbtdata)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingshadows)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME raytracingtextures)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME renderheadless)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME screenshot)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME shaderobjects)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME shadowmapping)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME shadowmappingcascade)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME shadowmappingomni)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME specializationconstants)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME sphericalenvmapping)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME ssao)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME stencilbuffer)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME subpasses)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME terraintessellation)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME tessellation)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME textoverlay)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texture)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texture3d)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texturearray)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texturecubemap)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texturecubemaparray)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texturemipmapgen)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME texturesparseresidency)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME timelinesemaphore)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME triangle)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME trianglevulkan13)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME variablerateshading)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME vertexattributes)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME viewportarray)

View file

@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
set(NAME vulkanscene)

View file

@ -1,3 +1,6 @@
# Copyright (c) 2016-2025, Sascha Willems
# SPDX-License-Identifier: MIT
file(GLOB BASE_SRC "*.cpp" "*.hpp" "*.h" "../external/imgui/*.cpp")
file(GLOB BASE_HEADERS "*.hpp" "*.h")