Vulkan-Hpp/samples/CMakeLists.txt

88 lines
3.2 KiB
CMake
Raw Normal View History

# 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 )
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 )
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 )
endif()
2023-04-20 14:50:26 +00:00
if( MSVC )
add_compile_options( /W4 /WX /permissive- )
else()
2023-04-20 14:50:26 +00:00
add_compile_options( -Wall -Wextra -pedantic -Werror )
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" )
else()
2023-04-20 14:50:26 +00:00
include_directories( "${Vulkan_INCLUDE_DIRS}" )
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 )