From 591872ea30c2e072999e33bca10f86d9cb56ec66 Mon Sep 17 00:00:00 2001 From: Patricia Aas Date: Tue, 22 Jun 2021 10:40:17 +0200 Subject: [PATCH] Try to make cmake to git submodule things --- CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5518997..9b8dd96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,25 @@ project(modern_cpp_exercises ) set(CMAKE_CXX_STANDARD 20) +find_package(Git QUIET) +if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") + # Update submodules as needed + option(GIT_SUBMODULE "Check submodules during build" ON) + if(GIT_SUBMODULE) + message(STATUS "Submodule update") + 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 "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") + endif() + endif() +endif() + +if(NOT EXISTS "${PROJECT_SOURCE_DIR}/vcpkg/LICENSE.txt") + message(FATAL_ERROR "The submodules were not downloaded! GIT_SUBMODULE was turned off or failed. Please update submodules and try again.") +endif() + add_subdirectory(lib) add_subdirectory(src) add_subdirectory(test)