Files
OGX-Mini/Firmware/cmake/init_submodules.cmake
2025-01-20 10:11:14 -07:00

20 lines
778 B
CMake

function(init_git_submodules EXTERNAL_DIR SUBMODULE_PATHS)
set(REPO_DIR "${EXTERNAL_DIR}/../../")
message(STATUS "Initializing submodules in ${REPO_DIR}")
foreach(SUBMODULE_PATH ${SUBMODULE_PATHS})
execute_process(
COMMAND git submodule update --init --recursive ${SUBMODULE_PATH}
WORKING_DIRECTORY ${REPO_DIR}
RESULT_VARIABLE INIT_SUBMODULE_RESULT
OUTPUT_VARIABLE INIT_SUBMODULE_OUTPUT
ERROR_VARIABLE INIT_SUBMODULE_ERROR
)
if(INIT_SUBMODULE_RESULT EQUAL 0)
message(STATUS "Submodules initialized successfully.")
else()
message(FATAL_ERROR "Failed to initialize submodules: ${INIT_SUBMODULES_ERROR}")
endif()
endforeach()
endfunction()