From aa292d56650bc28f2b2d75973fab2e61d0136f9c Mon Sep 17 00:00:00 2001 From: Alexandre Bouvier Date: Mon, 9 Aug 2021 23:26:14 +0200 Subject: [PATCH] cmake: Support using system SPIRV-Headers --- CMakeLists.txt | 11 ++++++++++- src/CMakeLists.txt | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b0574f..ca7e3b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,10 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) set(MASTER_PROJECT ON) endif() +# Sirit project options +option(SIRIT_TESTS "Build tests" OFF) +option(SIRIT_USE_SYSTEM_SPIRV_HEADERS "Use system SPIR-V headers" OFF) + # Default to a Release build if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) @@ -81,7 +85,12 @@ endif() enable_testing(true) # SPIR-V headers -add_subdirectory(externals/SPIRV-Headers EXCLUDE_FROM_ALL) +if (SIRIT_USE_SYSTEM_SPIRV_HEADERS) + find_package(SPIRV-Headers REQUIRED) +else() + add_subdirectory(externals/SPIRV-Headers EXCLUDE_FROM_ALL) + add_library(SPIRV-Headers::SPIRV-Headers ALIAS SPIRV-Headers) +endif() # Sirit project files add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c9bf093..18f3e1b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,5 +27,6 @@ target_compile_options(sirit PRIVATE ${SIRIT_CXX_FLAGS}) target_include_directories(sirit PUBLIC ../include - PRIVATE . ${SPIRV-Headers_SOURCE_DIR}/include - INTERFACE ${SPIRV-Headers_SOURCE_DIR}/include) + PRIVATE .) + +target_link_libraries(sirit PUBLIC SPIRV-Headers::SPIRV-Headers)