catch.cmake 934 B

123456789101112131415161718192021222324252627
  1. include(ExternalProject)
  2. ExternalProject_Add(
  3. catch
  4. PREFIX ${CMAKE_BINARY_DIR}/catch
  5. URL "https://raw.githubusercontent.com/catchorg/Catch2/Catch1.x/single_include/catch.hpp"
  6. CONFIGURE_COMMAND ""
  7. BUILD_COMMAND ""
  8. INSTALL_COMMAND ""
  9. TEST_COMMAND ""
  10. DOWNLOAD_NO_EXTRACT ON
  11. )
  12. # Expose variable CATCH_MODULE_PATH to parent scope
  13. ExternalProject_Get_Property(catch DOWNLOAD_DIR)
  14. set(CATCH_MODULE_PATH ${DOWNLOAD_DIR} CACHE INTERNAL "Path to include catch")
  15. # Download module for CTest integration
  16. if(NOT EXISTS "${CATCH_MODULE_PATH}/Catch.cmake")
  17. file(DOWNLOAD "https://raw.githubusercontent.com/catchorg/Catch2/master/contrib/Catch.cmake"
  18. "${CATCH_MODULE_PATH}/Catch.cmake")
  19. endif()
  20. if(NOT EXISTS "${CATCH_MODULE_PATH}/CatchAddTests.cmake")
  21. file(DOWNLOAD "https://raw.githubusercontent.com/catchorg/Catch2/master/contrib/CatchAddTests.cmake"
  22. "${CATCH_MODULE_PATH}/CatchAddTests.cmake")
  23. endif()