summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt28
1 files changed, 16 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a207f9e3..bfa104034 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,18 +7,6 @@ include(CMakeDependentOption)
project(yuzu)
-# Get Git submodule dependencies
-find_package(Git QUIET)
-if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
- 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 --recursive failed with ${GIT_SUBMOD_RESULT}, "
- "please checkout submodules manually with \"git submodule update --init --recursive\"")
- endif()
-endif()
-
# Set bundled sdl2/qt as dependent options.
# OFF by default, but if ENABLE_SDL2 and MSVC are true then ON
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
@@ -45,6 +33,22 @@ if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit)
DESTINATION ${PROJECT_SOURCE_DIR}/.git/hooks)
endif()
+# Sanity check : Check that all submodules are present
+# =======================================================================
+
+function(check_submodules_present)
+ file(READ "${PROJECT_SOURCE_DIR}/.gitmodules" gitmodules)
+ string(REGEX MATCHALL "path *= *[^ \t\r\n]*" gitmodules ${gitmodules})
+ foreach(module ${gitmodules})
+ string(REGEX REPLACE "path *= *" "" module ${module})
+ if (NOT EXISTS "${PROJECT_SOURCE_DIR}/${module}/.git")
+ message(FATAL_ERROR "Git submodule ${module} not found. "
+ "Please run: git submodule update --init --recursive")
+ endif()
+ endforeach()
+endfunction()
+check_submodules_present()
+
configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc
${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc
COPYONLY)