annotate fuhtark_test/Vulkan-Headers-1.4.334/tests/integration/CMakeLists.txt @ 1501:f40d9d814c08 default tip main

did: correct vulkan-api generator
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 23:34:29 +0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1501
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
1 # ~~~
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
2 # Copyright 2022-2023 The Khronos Group Inc.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
3 # Copyright 2022-2023 Valve Corporation
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
4 # Copyright 2022-2023 LunarG, Inc.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
5 #
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
6 # SPDX-License-Identifier: Apache-2.0
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
7 # ~~~
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
8 cmake_minimum_required(VERSION 3.22.1)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
9
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
10 project(API LANGUAGES C CXX)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
11
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
12 if (FIND_PACKAGE_TESTING)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
13 find_package(VulkanHeaders REQUIRED CONFIG)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
14 else()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
15 add_subdirectory(../../ ${CMAKE_CURRENT_BINARY_DIR}/headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
16 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
17
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
18 if (NOT TARGET Vulkan::Headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
19 message(FATAL_ERROR "Vulkan::Headers target not defined")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
20 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
21 if (NOT TARGET Vulkan::HppModule AND VULKAN_HEADERS_ENABLE_MODULE)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
22 message(FATAL_ERROR "Vulkan::HppModule target not defined")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
23 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
24
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
25 if (FIND_PACKAGE_TESTING)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
26 if (NOT DEFINED VulkanHeaders_VERSION)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
27 message(FATAL_ERROR "VulkanHeaders_VERSION not defined!")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
28 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
29 message(STATUS "VulkanHeaders_VERSION = ${VulkanHeaders_VERSION}")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
30 else()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
31 # Consuming vulkan-headers via add_subdirectory should NOT add installation code to the parent CMake project.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
32 if (DEFINED CMAKE_INSTALL_INCLUDEDIR)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
33 message(FATAL_ERROR "CMAKE_INSTALL_INCLUDEDIR was defined!")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
34 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
35
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
36 # NOTE: Some users may not be using the namespace target.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
37 # Don't accidentally break them unless we have to.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
38 if (NOT TARGET Vulkan-Headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
39 message(FATAL_ERROR "Backcompat for Vulkan-Headers target broken!")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
40 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
41 if (NOT TARGET Vulkan-HppModule AND VULKAN_HEADERS_ENABLE_MODULE)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
42 message(FATAL_ERROR "Backcompat for Vulkan-HppModule target broken!")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
43 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
44 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
45
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
46 set(CMAKE_C_STANDARD 99)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
47 set(CMAKE_C_STANDARD_REQUIRED ON)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
48 set(CMAKE_C_EXTENSIONS OFF)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
49
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
50 if(${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)")
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
51 add_compile_options(
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
52 -Wpedantic
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
53 -Wall
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
54 -Wextra
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
55 -Werror
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
56 )
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
57 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
58
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
59 if (MSVC)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
60 add_compile_options(
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
61 /W4
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
62 /permissive-
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
63 /WX
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
64 )
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
65 endif()
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
66
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
67 # Test the non-API headers provided by this repo
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
68 # NOTE: For us testing just means that these header files compile
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
69 # with reasonable warnings.
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
70
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
71 # vk_icd.h
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
72 add_library(vk_icd MODULE ../vk_icd.c)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
73 target_link_libraries(vk_icd PRIVATE Vulkan::Headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
74
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
75 # vk_layer.h
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
76 add_library(vk_layer MODULE ../vk_layer.c)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
77 target_link_libraries(vk_layer PRIVATE Vulkan::Headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
78
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
79 # vulkan.hpp
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
80 add_library(vk_hpp MODULE ../vk_hpp.cpp)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
81 target_compile_features(vk_hpp PUBLIC cxx_std_11)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
82 target_link_libraries(vk_hpp PRIVATE Vulkan::Headers)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
83
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
84 # vulkan.cppm
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
85 if (VULKAN_HEADERS_ENABLE_MODULE)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
86 add_library(vk_hpp_module MODULE ../vk_hpp_module.cpp)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
87 set_target_properties(vk_hpp_module PROPERTIES CXX_SCAN_FOR_MODULES ON)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
88 target_link_libraries(vk_hpp_module PRIVATE Vulkan::HppModule)
f40d9d814c08 did: correct vulkan-api generator
sam <sam@basx.dev>
parents:
diff changeset
89 endif()