32 lines
1.0 KiB
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()
|