1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-23 00:48:55 +08:00
Files
CMake/Help/guide/tutorial/Complete/SimpleTest/CMakeLists.txt
Vito Gamberini b2e3e3e30e Tutorial: Rewrite using conventions enabled by CMake 3.23
This is a full re-write of the CMake Tutorial for CMake 3.23, both
the functionality it provides, as well as the modern workflows that
developers use when interfacing with CMake.

Issue: #22663, #23086, #23799, #26053, #26105, #26153, #26914
2025-09-17 11:57:23 -04:00

54 lines
1.2 KiB
CMake

# A very simple test framework for demonstrating how dependencies work
cmake_minimum_required(VERSION 3.23)
project(SimpleTest
VERSION 0.0.1
)
add_library(SimpleTest INTERFACE)
target_sources(SimpleTest
INTERFACE
FILE_SET HEADERS
FILES
SimpleTest.h
)
target_compile_features(SimpleTest INTERFACE cxx_std_20)
target_compile_definitions(SimpleTest INTERFACE "SIMPLETEST_CONFIG=$<CONFIG>")
find_package(TransitiveDep REQUIRED)
target_link_libraries(SimpleTest
INTERFACE
TransitiveDep::TransitiveDep
)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
install(
TARGETS SimpleTest
EXPORT SimpleTestTargets
FILE_SET HEADERS
)
install(
EXPORT SimpleTestTargets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
NAMESPACE SimpleTest::
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
COMPATIBILITY ExactVersion
ARCH_INDEPENDENT
)
install(
FILES
cmake/simpletest_discover_impl.cmake
cmake/simpletest_discover_tests.cmake
cmake/SimpleTestConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
)