diff options
author | David Neto <[email protected]> | 2024-02-13 19:17:22 +0000 |
---|---|---|
committer | Charles Giessen <[email protected]> | 2024-06-14 14:42:51 -0600 |
commit | 8f034f6b48fd2d30f711396a021e1dc050c8941c (patch) | |
tree | d9093e4a7f011d004b4b396273e10998e2b40884 | |
parent | 05fe2cc910a68c9ba5dac07db46ef78573acee72 (diff) | |
download | Vulkan-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.yml | 6 | ||||
-rw-r--r-- | CMakeLists.txt | 14 |
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) |