CMake: Get Git submodule dependencies via CMake (#2474)
* CMake: Get Git submodule dependencies via CMake * CMakeLists: Fixed unintentional line break * travis: Bring parity between linux-mingw and linux build script * CMakeLists: Fixed typo in error message
This commit is contained in:
		
							parent
							
								
									8893d63612
								
							
						
					
					
						commit
						5cef446f42
					
				| @ -1,3 +1,4 @@ | |||||||
| #!/bin/bash -ex | #!/bin/bash -ex | ||||||
| mkdir "$HOME/.ccache" || true | 
 | ||||||
| docker run --env-file .travis/common/travis-ci.env -v $(pwd):/yuzu -v "$HOME/.ccache":/root/.ccache yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.travis/linux-mingw/docker.sh | mkdir -p "$HOME/.ccache" | ||||||
|  | docker run -e ENABLE_COMPATIBILITY_REPORTING --env-file .travis/common/travis-ci.env -v $(pwd):/yuzu -v "$HOME/.ccache":/root/.ccache yuzuemu/build-environments:linux-mingw /bin/bash /yuzu/.travis/linux-mingw/docker.sh | ||||||
|  | |||||||
| @ -7,6 +7,18 @@ include(CMakeDependentOption) | |||||||
| 
 | 
 | ||||||
| project(yuzu) | 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. | # Set bundled sdl2/qt as dependent options. | ||||||
| # OFF by default, but if ENABLE_SDL2 and MSVC are true then ON | # OFF by default, but if ENABLE_SDL2 and MSVC are true then ON | ||||||
| option(ENABLE_SDL2 "Enable the SDL2 frontend" ON) | option(ENABLE_SDL2 "Enable the SDL2 frontend" ON) | ||||||
| @ -33,22 +45,6 @@ if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit) | |||||||
|         DESTINATION ${PROJECT_SOURCE_DIR}/.git/hooks) |         DESTINATION ${PROJECT_SOURCE_DIR}/.git/hooks) | ||||||
| endif() | 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 | configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc | ||||||
|                ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc |                ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc | ||||||
|                COPYONLY) |                COPYONLY) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Frederic L
						Frederic L