aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Neto <[email protected]>2024-02-13 19:17:22 +0000
committerCharles Giessen <[email protected]>2024-06-14 14:42:51 -0600
commit8f034f6b48fd2d30f711396a021e1dc050c8941c (patch)
treed9093e4a7f011d004b4b396273e10998e2b40884
parent05fe2cc910a68c9ba5dac07db46ef78573acee72 (diff)
downloadVulkan-Headers-8f034f6b48fd2d30f711396a021e1dc050c8941c.tar.gz
Vulkan-Headers-8f034f6b48fd2d30f711396a021e1dc050c8941c.zip
cmake: Allow external control of whether to test or install
This makes the project more composable: It can be built and tested as part of a larger set of projects, from source.
-rw-r--r--.github/workflows/ci.yml6
-rw-r--r--CMakeLists.txt14
2 files changed, 11 insertions, 9 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5de0877..fbb0078 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,7 +12,7 @@ on:
env:
CMAKE_GENERATOR: Ninja
-
+
permissions:
contents: read
@@ -27,9 +27,9 @@ jobs:
- uses: actions/checkout@v4
- uses: lukka/get-cmake@latest
with:
- cmakeVersion: ${{ matrix.cmake-version }}
+ cmakeVersion: ${{ matrix.cmake-version }}
- uses: ilammy/msvc-dev-cmd@v1
- - run: cmake -S . -B build -D BUILD_TESTS=ON -G Ninja
+ - run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON -G Ninja
- run: ctest --output-on-failure
working-directory: build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e1a2af0..698666f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,13 +47,15 @@ if (CMAKE_VERSION VERSION_LESS "3.21")
string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} PROJECT_IS_TOP_LEVEL)
endif()
-if (PROJECT_IS_TOP_LEVEL)
- option(BUILD_TESTS "Build the tests")
- if (BUILD_TESTS)
- enable_testing()
- add_subdirectory(tests)
- endif()
+option(VULKAN_HEADERS_ENABLE_TESTS "Test Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})
+option(VULKAN_HEADERS_ENABLE_INSTALL "Install Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})
+
+if (VULKAN_HEADERS_ENABLE_TESTS)
+ enable_testing() # This is only effective in the top level CMakeLists.txt file.
+ add_subdirectory(tests)
+endif()
+if (VULKAN_HEADERS_ENABLE_INSTALL)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)