xemu/subprojects/SPIRV-Reflect/examples/CMakeLists.txt

77 lines
3.4 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(examples)
list(APPEND SPIRV_REFLECT_FILES
${CMAKE_SOURCE_DIR}/spirv_reflect.h
${CMAKE_SOURCE_DIR}/spirv_reflect.c
)
list(APPEND COMMON_FILES
common.h
common.cpp
../common/output_stream.h
../common/output_stream.cpp
sample_spv.h
)
################################################################################
# descriptors
################################################################################
add_executable(descriptors ${CMAKE_CURRENT_SOURCE_DIR}/main_descriptors.cpp ${COMMON_FILES} ${SPIRV_REFLECT_FILES})
target_include_directories(descriptors PRIVATE ${CMAKE_SOURCE_DIR})
if (${VULKAN_DIR_FOUND})
target_compile_definitions(descriptors PRIVATE SPIRV_REFLECT_HAS_VULKAN_H)
target_include_directories(descriptors PRIVATE ${VULKAN_DIR}/include)
set_target_properties(descriptors PROPERTIES CXX_STANDARD 11)
endif()
if(WIN32)
target_compile_definitions(descriptors PRIVATE _CRT_SECURE_NO_WARNINGS)
set_target_properties(descriptors PROPERTIES FOLDER "examples")
endif()
################################################################################
# io_variables
################################################################################
add_executable(io_variables ${CMAKE_CURRENT_SOURCE_DIR}/main_io_variables.cpp ${COMMON_FILES} ${SPIRV_REFLECT_FILES})
target_include_directories(io_variables PRIVATE ${CMAKE_SOURCE_DIR})
if (${VULKAN_DIR_FOUND})
target_compile_definitions(io_variables PRIVATE SPIRV_REFLECT_HAS_VULKAN_H)
target_include_directories(io_variables PRIVATE ${VULKAN_DIR}/include)
set_target_properties(io_variables PROPERTIES CXX_STANDARD 11)
endif()
if(WIN32)
target_compile_definitions(io_variables PRIVATE _CRT_SECURE_NO_WARNINGS)
set_target_properties(io_variables PROPERTIES FOLDER "examples")
endif()
################################################################################
# hlsl_resource_types
################################################################################
add_executable(hlsl_resource_types ${CMAKE_CURRENT_SOURCE_DIR}/main_hlsl_resource_types.cpp ${COMMON_FILES} ${SPIRV_REFLECT_FILES})
target_include_directories(hlsl_resource_types PRIVATE ${CMAKE_SOURCE_DIR})
if (${VULKAN_DIR_FOUND})
target_compile_definitions(hlsl_resource_types PRIVATE SPIRV_REFLECT_HAS_VULKAN_H)
target_include_directories(hlsl_resource_types PRIVATE ${VULKAN_DIR}/include)
set_target_properties(hlsl_resource_types PROPERTIES CXX_STANDARD 11)
endif()
if(WIN32)
target_compile_definitions(hlsl_resource_types PRIVATE _CRT_SECURE_NO_WARNINGS)
set_target_properties(hlsl_resource_types PROPERTIES FOLDER "examples")
endif()
################################################################################
# explorer
################################################################################
add_executable(explorer ${CMAKE_CURRENT_SOURCE_DIR}/main_explorer.cpp ${COMMON_FILES} ${SPIRV_REFLECT_FILES})
target_include_directories(explorer PRIVATE ${CMAKE_SOURCE_DIR})
if (${VULKAN_DIR_FOUND})
target_compile_definitions(explorer PRIVATE SPIRV_REFLECT_HAS_VULKAN_H)
target_include_directories(explorer PRIVATE ${VULKAN_DIR}/include)
set_target_properties(explorer PROPERTIES CXX_STANDARD 11)
endif()
if(WIN32)
target_compile_definitions(explorer PRIVATE _CRT_SECURE_NO_WARNINGS)
set_target_properties(explorer PROPERTIES FOLDER "examples")
endif()