Created
March 24, 2021 20:47
-
-
Save dvigne/31aa238e1b3afcef560a1522493eb1ae to your computer and use it in GitHub Desktop.
Download Submodules Quietly Using CMake. Referenced From https://cliutils.gitlab.io/modern-cmake/chapters/projects/submodule.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Initialize Git Submodules if not already done on clone | |
find_package(Git QUIET) | |
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") | |
# Update submodules as needed | |
option(GIT_SUBMODULE "Check submodules during build" ON) | |
if(GIT_SUBMODULE) | |
message(STATUS "Submodule update") | |
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive | |
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |
RESULT_VARIABLE GIT_SUBMOD_RESULT) | |
if(NOT GIT_SUBMOD_RESULT EQUAL "0") | |
message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules manually") | |
endif() | |
endif() | |
else() | |
message(FATAL_ERROR "Git CMake Module Not Found, Please ensure that git is installed") | |
endif() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment