2021-02-17 09:49:59 +00:00
|
|
|
# Copyright(c) 2018, NVIDIA CORPORATION. All rights reserved.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
cmake_minimum_required( VERSION 3.2 )
|
2021-02-17 09:49:59 +00:00
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
option( SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP "Build with local Vulkan headers" ON )
|
|
|
|
option( SAMPLES_BUILD_ONLY_DYNAMIC "Build only dynamic. Required in case the Vulkan SDK is not available" OFF )
|
2021-02-17 09:49:59 +00:00
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
if( NOT (SAMPLES_BUILD_ONLY_DYNAMIC AND SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP) )
|
|
|
|
find_package( Vulkan REQUIRED )
|
2021-02-17 09:49:59 +00:00
|
|
|
endif()
|
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
if( MSVC )
|
|
|
|
add_compile_options( /W4 /WX /permissive- )
|
2021-02-17 09:49:59 +00:00
|
|
|
else()
|
2023-04-20 14:50:26 +00:00
|
|
|
add_compile_options( -Wall -Wextra -pedantic -Werror )
|
2021-02-17 09:49:59 +00:00
|
|
|
endif()
|
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
if( SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP )
|
|
|
|
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/.." )
|
|
|
|
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/../Vulkan-Headers/include" )
|
2021-02-17 09:49:59 +00:00
|
|
|
else()
|
2023-04-20 14:50:26 +00:00
|
|
|
include_directories( "${Vulkan_INCLUDE_DIRS}" )
|
2021-02-17 09:49:59 +00:00
|
|
|
endif()
|
|
|
|
|
2023-04-20 14:50:26 +00:00
|
|
|
add_subdirectory( utils )
|
|
|
|
add_subdirectory( 01_InitInstance )
|
|
|
|
add_subdirectory( 02_EnumerateDevices )
|
|
|
|
add_subdirectory( 03_InitDevice )
|
|
|
|
add_subdirectory( 04_InitCommandBuffer )
|
|
|
|
add_subdirectory( 05_InitSwapchain )
|
|
|
|
add_subdirectory( 06_InitDepthBuffer )
|
|
|
|
add_subdirectory( 07_InitUniformBuffer )
|
|
|
|
add_subdirectory( 08_InitPipelineLayout )
|
|
|
|
add_subdirectory( 09_InitDescriptorSet )
|
|
|
|
add_subdirectory( 10_InitRenderPass )
|
|
|
|
add_subdirectory( 11_InitShaders )
|
|
|
|
add_subdirectory( 12_InitFrameBuffers )
|
|
|
|
add_subdirectory( 13_InitVertexBuffer )
|
|
|
|
add_subdirectory( 14_InitPipeline )
|
|
|
|
add_subdirectory( 15_DrawCube )
|
|
|
|
add_subdirectory( 16_Vulkan_1_1 )
|
|
|
|
add_subdirectory( CopyBlitImage )
|
|
|
|
add_subdirectory( CreateDebugUtilsMessenger )
|
|
|
|
add_subdirectory( DebugUtilsObjectName )
|
|
|
|
add_subdirectory( DrawTexturedCube )
|
|
|
|
add_subdirectory( DynamicUniform )
|
|
|
|
add_subdirectory( EnableValidationWithCallback )
|
|
|
|
add_subdirectory( EnumerateDevicesAdvanced )
|
|
|
|
add_subdirectory( Events )
|
|
|
|
add_subdirectory( ImmutableSampler )
|
|
|
|
add_subdirectory( InitTexture )
|
|
|
|
add_subdirectory( InputAttachment )
|
|
|
|
add_subdirectory( InstanceExtensionProperties )
|
|
|
|
add_subdirectory( InstanceLayerExtensionProperties )
|
|
|
|
add_subdirectory( InstanceLayerProperties )
|
|
|
|
add_subdirectory( InstanceVersion )
|
|
|
|
add_subdirectory( MultipleSets )
|
|
|
|
add_subdirectory( OcclusionQuery )
|
|
|
|
add_subdirectory( PhysicalDeviceExtensions )
|
|
|
|
add_subdirectory( PhysicalDeviceFeatures )
|
|
|
|
add_subdirectory( PhysicalDeviceGroups )
|
|
|
|
add_subdirectory( PhysicalDeviceMemoryProperties )
|
|
|
|
add_subdirectory( PhysicalDeviceProperties )
|
|
|
|
add_subdirectory( PhysicalDeviceQueueFamilyProperties )
|
|
|
|
add_subdirectory( PipelineCache )
|
|
|
|
add_subdirectory( PipelineDerivative )
|
|
|
|
add_subdirectory( PushConstants )
|
|
|
|
add_subdirectory( PushDescriptors )
|
|
|
|
add_subdirectory( RayTracing )
|
|
|
|
add_subdirectory( SecondaryCommandBuffer )
|
|
|
|
add_subdirectory( SeparateImageSampler )
|
|
|
|
add_subdirectory( SurfaceCapabilities )
|
|
|
|
add_subdirectory( SurfaceFormats )
|
|
|
|
add_subdirectory( Template )
|
|
|
|
add_subdirectory( TexelBuffer )
|