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)
endif()
foreach(SUBMODULE ${REQUIRED_SUBMODULES})
if(WIN32)
set(SUBMODULE_STATE 1)
else()
# Check if submodule is already initialized
execute_process(
COMMAND ${BASH_TOOL_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/SubmoduleCheck.sh ${SUBMODULE}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE SUBMODULE_STATE
)
endif()
execute_process(
COMMAND ${GIT_TOOL_PATH} submodule status ${SUBMODULE}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE SUBMODULE_STATE
)
string(REGEX MATCH "^\\-" UNINITIALIZED ${SUBMODULE_STATE})
string(REGEX MATCH "^\\+" MISMATCH ${SUBMODULE_STATE})
if(SUBMODULE_STATE EQUAL 1)
if(UNINITIALIZED)
message(STATUS "Initializing submodule ${SUBMODULE}")
execute_process(
COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
elseif(SUBMODULE_STATE EQUAL 2)
elseif(MISMATCH)
message(STATUS "Updating submodule ${SUBMODULE}")
execute_process(
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