CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. target_compile_definitions(SimpleTest INTERFACE "SIMPLETEST_CONFIG=$<CONFIG>")
  15. find_package(TransitiveDep REQUIRED)
  16. target_link_libraries(SimpleTest
  17. INTERFACE
  18. TransitiveDep::TransitiveDep
  19. )
  20. include(GNUInstallDirs)
  21. include(CMakePackageConfigHelpers)
  22. install(
  23. TARGETS SimpleTest
  24. EXPORT SimpleTestTargets
  25. FILE_SET HEADERS
  26. )
  27. install(
  28. EXPORT SimpleTestTargets
  29. DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
  30. NAMESPACE SimpleTest::
  31. )
  32. write_basic_package_version_file(
  33. ${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
  34. COMPATIBILITY ExactVersion
  35. ARCH_INDEPENDENT
  36. )
  37. install(
  38. FILES
  39. cmake/simpletest_discover_impl.cmake
  40. cmake/simpletest_discover_tests.cmake
  41. cmake/SimpleTestConfig.cmake
  42. ${CMAKE_CURRENT_BINARY_DIR}/SimpleTestConfigVersion.cmake
  43. DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SimpleTest
  44. )