forked from eden-emu/eden
		
	CI: fix caching
This commit is contained in:
		
							parent
							
								
									43a1948d58
								
							
						
					
					
						commit
						40493231ed
					
				
					 6 changed files with 78 additions and 6 deletions
				
			
		|  | @ -4,7 +4,7 @@ set -e | |||
| 
 | ||||
| #cd /yuzu | ||||
| 
 | ||||
| ccache -s | ||||
| ccache -sv | ||||
| 
 | ||||
| mkdir -p "$HOME/.conan/profiles" | ||||
| wget -nc "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default" | ||||
|  | @ -28,7 +28,7 @@ cmake .. \ | |||
|     -GNinja | ||||
| ninja yuzu yuzu-cmd | ||||
| 
 | ||||
| ccache -s | ||||
| ccache -sv | ||||
| 
 | ||||
| echo "Tests skipped" | ||||
| #ctest -VV -C Release | ||||
|  |  | |||
							
								
								
									
										51
									
								
								.github/workflows/verify.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								.github/workflows/verify.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -6,7 +6,7 @@ on: | |||
| 
 | ||||
| jobs: | ||||
|   format: | ||||
|     name: 'verify formatting' | ||||
|     name: 'verify format' | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: yuzuemu/build-environments:linux-clang-format | ||||
|  | @ -41,12 +41,57 @@ jobs: | |||
|           fetch-depth: 0 | ||||
|       - name: Set up cache | ||||
|         uses: actions/cache@v2 | ||||
|         id: ccache-restore | ||||
|         with: | ||||
|           path: ~/.ccache | ||||
|           key: ${{ runner.os }}-${{ matrix.image }}-${{ github.sha }} | ||||
|           key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }} | ||||
|           restore-keys: | | ||||
|             ${{ runner.os }}-${{ matrix.image }}- | ||||
|             ${{ runner.os }}-${{ matrix.type }}- | ||||
|       - name: Create ccache directory | ||||
|         if: steps.ccache-restore.outputs.cache-hit != 'true' | ||||
|         run: mkdir -p ~/.ccache | ||||
|       - name: Build | ||||
|         run: ./.ci/scripts/${{ matrix.type }}/docker.sh | ||||
|         env: | ||||
|           ENABLE_COMPATIBILITY_REPORTING: "ON" | ||||
|   build-msvc: | ||||
|     name: 'test build (windows, msvc)' | ||||
|     needs: format | ||||
|     runs-on: windows-2019 | ||||
|     steps: | ||||
|       - name: Set up cache | ||||
|         uses: actions/cache@v2 | ||||
|         with: | ||||
|           path: ~/.buildcache | ||||
|           key: ${{ runner.os }}-msvc-${{ github.sha }} | ||||
|           restore-keys: | | ||||
|             ${{ runner.os }}-msvc- | ||||
|       - name: Install dependencies | ||||
|         shell: cmd | ||||
|         run: | | ||||
|           choco install vulkan-sdk wget | ||||
|           python -m pip install --upgrade pip conan | ||||
|           call refreshenv | ||||
|           wget https://github.com/mbitsnbites/buildcache/releases/download/v0.27.6/buildcache-windows.zip | ||||
|           7z x buildcache-windows.zip | ||||
|           copy buildcache\bin\buildcache.exe C:\ProgramData\chocolatey\bin | ||||
|           rmdir buildcache | ||||
|           echo %PATH% >> %GITHUB_PATH% | ||||
|       - name: Set up MSVC | ||||
|         uses: ilammy/msvc-dev-cmd@v1 | ||||
|       - uses: actions/checkout@v2 | ||||
|         with: | ||||
|           submodules: recursive | ||||
|           fetch-depth: 0 | ||||
|       - name: Configure | ||||
|         env: | ||||
|           CC: cl.exe | ||||
|           CXX: cl.exe | ||||
|         run: | | ||||
|           glslangValidator --version | ||||
|           mkdir build | ||||
|           cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release | ||||
|       - name: Build | ||||
|         run: cmake --build build | ||||
|       - name: Cache Summary | ||||
|         run: buildcache -s | ||||
|  |  | |||
|  | @ -627,6 +627,14 @@ add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY | |||
|     -DBOOST_DATE_TIME_NO_LIB | ||||
|     -DBOOST_REGEX_NO_LIB | ||||
| ) | ||||
| # Adjustments for MSVC + Ninja | ||||
| if (MSVC AND CMAKE_GENERATOR STREQUAL "Ninja") | ||||
|     add_compile_options( | ||||
|         /wd4711 # function 'function' selected for automatic inline expansion | ||||
|         /wd4464 # relative include path contains '..' | ||||
|         /wd4820 # 'identifier1': '4' bytes padding added after data member 'identifier2' | ||||
|     ) | ||||
| endif() | ||||
| 
 | ||||
| enable_testing() | ||||
| add_subdirectory(externals) | ||||
|  |  | |||
|  | @ -2,5 +2,6 @@ function(copy_yuzu_FFmpeg_deps target_dir) | |||
|     include(WindowsCopyFiles) | ||||
|     set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||||
|     file(READ "${FFmpeg_PATH}/requirements.txt" FFmpeg_REQUIRED_DLLS) | ||||
|     string(STRIP "${FFmpeg_REQUIRED_DLLS}" FFmpeg_REQUIRED_DLLS) | ||||
|     windows_copy_files(${target_dir} ${FFmpeg_DLL_DIR} ${DLL_DEST} ${FFmpeg_REQUIRED_DLLS}) | ||||
| endfunction(copy_yuzu_FFmpeg_deps) | ||||
|  |  | |||
							
								
								
									
										12
									
								
								CMakeModules/MSVCCache.cmake
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								CMakeModules/MSVCCache.cmake
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| # buildcache wrapper | ||||
| OPTION(USE_CCACHE "Use buildcache for compilation" OFF) | ||||
| IF(USE_CCACHE) | ||||
|     FIND_PROGRAM(CCACHE buildcache) | ||||
|     IF (CCACHE) | ||||
|         MESSAGE(STATUS "Using buildcache found in PATH") | ||||
|         SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE}) | ||||
|         SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE}) | ||||
|     ELSE(CCACHE) | ||||
|         MESSAGE(WARNING "USE_CCACHE enabled, but no buildcache executable found") | ||||
|     ENDIF(CCACHE) | ||||
| ENDIF(USE_CCACHE) | ||||
|  | @ -36,7 +36,6 @@ if (MSVC) | |||
|     # /GT                 - Supports fiber safety for data allocated using static thread-local storage | ||||
|     add_compile_options( | ||||
|         /MP | ||||
|         /Zi | ||||
|         /Zm200 | ||||
|         /Zo | ||||
|         /permissive- | ||||
|  | @ -79,6 +78,13 @@ if (MSVC) | |||
|         /we5245 # 'function': unreferenced function with internal linkage has been removed | ||||
|     ) | ||||
| 
 | ||||
|     if (USE_CCACHE) | ||||
|     # when caching, we need to use /Z7 to downgrade debug info to use an older but more cachable format | ||||
|         add_compile_options(/Z7) | ||||
|     else() | ||||
|         add_compile_options(/Zi) | ||||
|     endif() | ||||
| 
 | ||||
|     if (ARCHITECTURE_x86_64) | ||||
|         add_compile_options(/QIntel-jcc-erratum) | ||||
|     endif() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 liushuyu
						liushuyu