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