• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ~~~
2# Copyright 2022-2023 The Khronos Group Inc.
3# Copyright 2022-2023 Valve Corporation
4# Copyright 2022-2023 LunarG, Inc.
5#
6# SPDX-License-Identifier: Apache-2.0
7# ~~~
8
9# Test the non-API headers provided by this repo
10# NOTE: For us testing just means that these header files compile
11# with reasonable warnings.
12
13message(STATUS "${PROJECT_NAME} = ${PROJECT_VERSION}")
14
15set(CMAKE_C_STANDARD 99)
16set(CMAKE_C_STANDARD_REQUIRED ON)
17set(CMAKE_C_EXTENSIONS OFF)
18
19if(${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)")
20    add_compile_options(
21        -Wpedantic
22        -Wall
23        -Wextra
24        -Werror
25    )
26endif()
27
28if (MSVC)
29    add_compile_options(
30        /W4
31        /permissive-
32        /WX
33    )
34endif()
35
36# vk_icd.h
37add_executable(vk_icd vk_icd.c)
38target_link_libraries(vk_icd PRIVATE Vulkan::Headers)
39
40# vk_layer.h
41add_library(vk_layer MODULE vk_layer.c)
42target_link_libraries(vk_layer PRIVATE Vulkan::Headers)
43
44if (NOT TARGET Vulkan-Headers)
45    message(FATAL_ERROR "Backcompat for Vulkan-Headers target broken!")
46endif()
47