CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # A very simple test framework for demonstrating how dependencies work
  2. cmake_minimum_required(VERSION 3.23)
  3. project(SimpleTest
  4. VERSION 0.0.1
  5. )
  6. add_library(SimpleTest INTERFACE)
  7. target_sources(SimpleTest
  8. INTERFACE
  9. FILE_SET HEADERS
  10. FILES
  11. SimpleTest.h
  12. )
  13. target_compile_features(SimpleTest INTERFACE cxx_std_20)
  14. # TODO2: Add a compile definition that sets SIMPLETEST_CONFIG=$<CONFIG>
  15. # on the SimpleTest target
  16. find_package(TransitiveDep REQUIRED)
  17. target_link_libraries(SimpleTest
  18. INTERFACE
  19. TransitiveDep::TransitiveDep
  20. )
  21. include(GNUInstallDirs)
  22. include(CMakePackageConfigHelpers)
  23. install(
  24. TARGETS SimpleTest
  25. EXPORT SimpleTestTargets
  26. FILE_SET HEADERS
  27. )
  28. install(
  29. EXPORT SimpleTestTargets
  30. DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
  31. NAMESPACE SimpleTest::
  32. )
  33. write_basic_package_version_file(
  34. ${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
  35. COMPATIBILITY ExactVersion
  36. ARCH_INDEPENDENT
  37. )
  38. install(
  39. FILES
  40. cmake/simpletest_discover_impl.cmake
  41. cmake/simpletest_discover_tests.cmake
  42. cmake/SimpleTestConfig.cmake
  43. ${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
  44. DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
  45. )