qtk/cmake/include/git_submodule.cmake

32 lines
1.0 KiB
CMake

################################################################################
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
## ##
## CMake function to update git submodules ##
################################################################################
include_guard()
find_package(Git)
# _PATH: Path to git submodule location that we want to update
# + submodule_update(extern/assimp)
function(submodule_update _PATH)
if (NOT UPDATE_SUBMODULES)
return()
endif()
if (NOT GIT_FOUND)
message(FATAL_ERROR "Error: No git executable found")
endif()
message(STATUS "${_PATH}")
execute_process(
COMMAND ${GIT_EXECUTABLE} submodule update --init "${_PATH}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
message(FATAL_ERROR "Error: Unable to update git submodule at ${_PATH}")
endif()
endfunction()