У меня есть проект, который использует catch2 в качестве моей пользовательской среды, и я использую cmake в качестве моей системы сборки.
В репо catch2, документы для интеграции cmake указали, что мы можем использовать
find_package(Catch2 REQUIRED)
и будет также включать пользовательские модули, указанные в репо. Теперь я ищу реализацию инструментов CI для дальнейшего тестирования в моем проекте, когда происходит коммит. И я считаю, что лучше всего позволить cmake позаботиться о моих зависимостях вместо меня, вместо того, чтобы пытаться запускать все команды в среде CI
Так что теперь я использовал модуль cmake FetchContent. Однако, когда я использовал это, я обнаружил, что пользовательские модули cmake в Catch Repo больше не работают. Я пытался сделать это
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_PROGRESS TRUE
UPDATE_DISCONNECTED ON
)
FetchContent_MakeAvailable(Catch2)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}/_deps/catch2/contrib/Catch.cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}/_deps/catch2/contrib/CatchAddTests.cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}/_deps/catch2/contrib/ParseAndAddCatchTests.cmake")
message("The list is: " ${CMAKE_MODULE_PATH})
модули находятся в папке contrib репо catch2. Как мне это сделать?