Skip to content
Snippets Groups Projects
Commit f7b7cbb9 authored by Lars Bilke's avatar Lars Bilke
Browse files

[CMake] Fixed submodule init / update on Windows.

parent 8cc7e760
No related branches found
No related tags found
No related merge requests found
# Checks for unitialized git submodules
# Parameter 1: The path to the submodule
# Returns 0 if the module is already initialized
# Returns 1 if there is no such submodule
# Returns 2 if the checked out submodule is out of date
# Check for modified
result=$(git submodule status $1 | grep '^+' | wc -l);
if [[ result -eq 0 ]]; then
result=$(git submodule status $1 | grep '^-' | wc -l);
exit $result;
else
exit 2;
fi
...@@ -17,24 +17,21 @@ if(OGS_BUILD_TESTS) ...@@ -17,24 +17,21 @@ if(OGS_BUILD_TESTS)
endif() endif()
foreach(SUBMODULE ${REQUIRED_SUBMODULES}) foreach(SUBMODULE ${REQUIRED_SUBMODULES})
if(WIN32) execute_process(
set(SUBMODULE_STATE 1) COMMAND ${GIT_TOOL_PATH} submodule status ${SUBMODULE}
else() WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# Check if submodule is already initialized OUTPUT_VARIABLE SUBMODULE_STATE
execute_process( )
COMMAND ${BASH_TOOL_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/SubmoduleCheck.sh ${SUBMODULE} string(REGEX MATCH "^\\-" UNINITIALIZED ${SUBMODULE_STATE})
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} string(REGEX MATCH "^\\+" MISMATCH ${SUBMODULE_STATE})
RESULT_VARIABLE SUBMODULE_STATE
)
endif()
if(SUBMODULE_STATE EQUAL 1) if(UNINITIALIZED)
message(STATUS "Initializing submodule ${SUBMODULE}") message(STATUS "Initializing submodule ${SUBMODULE}")
execute_process( execute_process(
COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE} COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
) )
elseif(SUBMODULE_STATE EQUAL 2) elseif(MISMATCH)
message(STATUS "Updating submodule ${SUBMODULE}") message(STATUS "Updating submodule ${SUBMODULE}")
execute_process( execute_process(
COMMAND git submodule update ${SUBMODULE} COMMAND git submodule update ${SUBMODULE}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment