NorthstarLauncher/primedev/cmake/utils.cmake

26 lines
1.0 KiB
CMake

# Check if a dependency exist before trying to init git submodules
function(check_init_submodule path)
file(GLOB DIR_CONTENT "${path}/*")
list(LENGTH DIR_CONTENT CONTENT_COUNT)
if (CONTENT_COUNT EQUAL 0)
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/.git")
message(FATAL_ERROR "Failed to find third party dependency in '${path}'")
endif()
find_package(Git QUIET)
if (NOT Git_FOUND)
message(FATAL_ERROR "Failed to find Git, third party dependency could not be setup at `${path}")
endif()
message(STATUS "Setting up dependencies as git submodules")
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 "Initializing Git submodules failed with ${GIT_SUBMOD_RESULT}")
endif()
endif()
endfunction()