CMake: Як автоматично виконати git submodule update --init
Коли ви використовуєте git-підмодулі у своєму проєкті CMake, ви можете захотіти переконатися, що підмодулі ініціалізуються та оновлюються автоматично під час конфігурування проєкту. Ви можете досягти цього, додавши власну команду у ваш файл CMakeLists.txt.
CMakeLists.txt
# Намагаємося автоматично ініціалізувати git-підмодулі під час конфігурування, щоб
# наступним споживачам не потрібен був окремий ручний крок. Це найкращі зусилля
# і виконується лише за наявності Git.
find_package(Git QUIET)
if(GIT_FOUND)
message(STATUS "Git found: initializing/updating submodules...")
execute_process(
COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
RESULT_VARIABLE _git_submodule_result
OUTPUT_QUIET ERROR_QUIET
)
if(NOT _git_submodule_result EQUAL 0)
message(WARNING "git submodule update --init --recursive failed with exit code ${_git_submodule_result}")
endif()
else()
message(STATUS "Git not found; skipping automatic git submodule initialization")
endif()Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow