Try to use CMake for git submodules (again)

This commit is contained in:
Patricia Aas 2021-06-22 12:07:52 +02:00 committed by Patricia Aas
parent 2da9215221
commit 942bd559c3
1 changed files with 17 additions and 16 deletions

View File

@ -1,31 +1,32 @@
#This needs to be set before project()
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
CACHE STRING "Vcpkg toolchain file")
cmake_minimum_required(VERSION 3.17)
enable_language(CXX)
project(modern_cpp_exercises )
set(CMAKE_CXX_STANDARD 20)
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
if (GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
# Update submodules as needed
option(GIT_SUBMODULE "Check submodules during build" ON)
if(GIT_SUBMODULE)
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")
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()
endif ()
endif ()
endif ()
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/vcpkg/LICENSE.txt")
if (NOT EXISTS "${CMAKE_CURRENT_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()
endif ()
#This needs to be set before project()
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
CACHE STRING "Vcpkg toolchain file")
enable_language(CXX)
project(modern_cpp_exercises)
set(CMAKE_CXX_STANDARD 20)
add_subdirectory(lib)
add_subdirectory(src)