mirror of
https://github.com/KhronosGroup/Vulkan-Headers
synced 2024-11-21 06:26:00 -07:00
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.
This commit is contained in:
parent
05fe2cc910
commit
8f034f6b48
2 changed files with 11 additions and 9 deletions
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
|
@ -12,7 +12,7 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CMAKE_GENERATOR: Ninja
|
CMAKE_GENERATOR: Ninja
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
|
@ -27,9 +27,9 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: lukka/get-cmake@latest
|
- uses: lukka/get-cmake@latest
|
||||||
with:
|
with:
|
||||||
cmakeVersion: ${{ matrix.cmake-version }}
|
cmakeVersion: ${{ matrix.cmake-version }}
|
||||||
- uses: ilammy/msvc-dev-cmd@v1
|
- 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
|
- run: ctest --output-on-failure
|
||||||
working-directory: build
|
working-directory: build
|
||||||
|
|
||||||
|
|
|
@ -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)
|
string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} PROJECT_IS_TOP_LEVEL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (PROJECT_IS_TOP_LEVEL)
|
option(VULKAN_HEADERS_ENABLE_TESTS "Test Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})
|
||||||
option(BUILD_TESTS "Build the tests")
|
option(VULKAN_HEADERS_ENABLE_INSTALL "Install Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})
|
||||||
if (BUILD_TESTS)
|
|
||||||
enable_testing()
|
|
||||||
add_subdirectory(tests)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
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(GNUInstallDirs)
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue