aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt63
1 files changed, 27 insertions, 36 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 8af9447..93e8078 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -6,41 +6,32 @@
# SPDX-License-Identifier: Apache-2.0
# ~~~
-# Test the non-API headers provided by this repo
-# NOTE: For us testing just means that these header files compile
-# with reasonable warnings.
-
-message(STATUS "${PROJECT_NAME} = ${PROJECT_VERSION}")
-
-set(CMAKE_C_STANDARD 99)
-set(CMAKE_C_STANDARD_REQUIRED ON)
-set(CMAKE_C_EXTENSIONS OFF)
-
-if(${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)")
- add_compile_options(
- -Wpedantic
- -Wall
- -Wextra
- -Werror
- )
-endif()
-
-if (MSVC)
- add_compile_options(
- /W4
- /permissive-
- /WX
- )
+if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24")
+ set(fresh "--fresh")
endif()
-# vk_icd.h
-add_library(vk_icd MODULE vk_icd.c)
-target_link_libraries(vk_icd PRIVATE Vulkan::Headers)
-
-# vk_layer.h
-add_library(vk_layer MODULE vk_layer.c)
-target_link_libraries(vk_layer PRIVATE Vulkan::Headers)
-
-if (NOT TARGET Vulkan-Headers)
- message(FATAL_ERROR "Backcompat for Vulkan-Headers target broken!")
-endif()
+# Test add_subdirectory suppport
+add_test(NAME integration.add_subdirectory
+ COMMAND ${CMAKE_CTEST_COMMAND}
+ --build-and-test ${CMAKE_CURRENT_LIST_DIR}/integration
+ ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory
+ --build-generator ${CMAKE_GENERATOR}
+ --build-options -DFIND_PACKAGE_TESTING=OFF "${fresh}"
+)
+
+set(test_install_dir "${CMAKE_CURRENT_BINARY_DIR}/install")
+add_test(NAME integration.install
+ COMMAND ${CMAKE_COMMAND} --install ${VULKAN_HEADERS_BINARY_DIR} --prefix ${test_install_dir}
+)
+
+# Test find_package suppport
+add_test(NAME integration.find_package
+ COMMAND ${CMAKE_CTEST_COMMAND}
+ --build-and-test ${CMAKE_CURRENT_LIST_DIR}/integration
+ ${CMAKE_CURRENT_BINARY_DIR}/find_package
+ --build-generator ${CMAKE_GENERATOR}
+ --build-options -DFIND_PACKAGE_TESTING=ON -DCMAKE_PREFIX_PATH=${test_install_dir} "${fresh}"
+)
+
+# Installing comes before testing
+set_tests_properties(integration.find_package PROPERTIES DEPENDS integration.install)