simpletest_discover_tests.cmake 821 B

123456789101112131415161718192021222324252627
  1. set(_simpletest_impl_script ${CMAKE_CURRENT_LIST_DIR}/simpletest_discover_impl.cmake)
  2. function(simpletest_discover_tests target)
  3. if(NOT TARGET ${target})
  4. message(FATAL_ERROR "simpletest_discover_tests: no such target '${target}'")
  5. endif()
  6. set(_out ${CMAKE_CURRENT_BINARY_DIR}/${target}_ctests.cmake)
  7. if(NOT EXISTS ${_out})
  8. file(WRITE ${_out} "# Populated after building ${target}\n")
  9. endif()
  10. # noqa: spellcheck off
  11. add_custom_command(TARGET ${target} POST_BUILD
  12. COMMAND ${CMAKE_COMMAND}
  13. -DTEST_EXE=$<TARGET_FILE:${target}>
  14. -DOUT_FILE=${_out}
  15. -P ${_simpletest_impl_script}
  16. BYPRODUCTS ${_out}
  17. COMMENT "SimpleTest: Discovering tests in ${target}"
  18. VERBATIM
  19. )
  20. # noqa: spellcheck on
  21. set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES ${_out})
  22. endfunction()