Merge pull request #8486 from liushuyu/github-actions-verify
CI: Use GitHub Actions to validate pull requests
This commit is contained in:
		| @@ -3,14 +3,12 @@ | |||||||
| # Exit on error, rather than continuing with the rest of the script. | # Exit on error, rather than continuing with the rest of the script. | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| cd /yuzu |  | ||||||
|  |  | ||||||
| ccache -s | ccache -s | ||||||
|  |  | ||||||
| mkdir build || true && cd build | mkdir build || true && cd build | ||||||
| cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr" | cmake .. -GNinja -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr" | ||||||
|  |  | ||||||
| make -j$(nproc) | ninja | ||||||
|  |  | ||||||
| ccache -s | ccache -s | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,5 +4,5 @@ mkdir -p "ccache"  || true | |||||||
| chmod a+x ./.ci/scripts/clang/docker.sh | chmod a+x ./.ci/scripts/clang/docker.sh | ||||||
| # the UID for the container yuzu user is 1027 | # the UID for the container yuzu user is 1027 | ||||||
| sudo chown -R 1027 ./ | sudo chown -R 1027 ./ | ||||||
| docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh $1 | docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh "$1" | ||||||
| sudo chown -R $UID ./ | sudo chown -R $UID ./ | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								.ci/scripts/clang/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.ci/scripts/clang/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -4,8 +4,10 @@ | |||||||
| cp license.txt "$DIR_NAME" | cp license.txt "$DIR_NAME" | ||||||
| cp README.md "$DIR_NAME" | cp README.md "$DIR_NAME" | ||||||
|  |  | ||||||
|  | if [[ -z "${NO_SOURCE_PACK}" ]]; then | ||||||
|   tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt |   tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt | ||||||
| cp "${REV_NAME}-source.tar.xz" "$DIR_NAME" |   cp -v "${REV_NAME}-source.tar.xz" "$DIR_NAME" | ||||||
|  | fi | ||||||
|  |  | ||||||
| tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$DIR_NAME" | tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$DIR_NAME" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,5 +3,5 @@ | |||||||
| chmod a+x ./.ci/scripts/format/docker.sh | chmod a+x ./.ci/scripts/format/docker.sh | ||||||
| # the UID for the container yuzu user is 1027 | # the UID for the container yuzu user is 1027 | ||||||
| sudo chown -R 1027 ./ | sudo chown -R 1027 ./ | ||||||
| docker run -v $(pwd):/yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh | docker run -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh | ||||||
| sudo chown -R $UID ./ | sudo chown -R $UID ./ | ||||||
|   | |||||||
| @@ -3,8 +3,6 @@ | |||||||
| # Exit on error, rather than continuing with the rest of the script. | # Exit on error, rather than continuing with the rest of the script. | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| cd /yuzu |  | ||||||
|  |  | ||||||
| ccache -s | ccache -s | ||||||
|  |  | ||||||
| mkdir build || true && cd build | mkdir build || true && cd build | ||||||
| @@ -19,15 +17,16 @@ cmake .. \ | |||||||
|       -DENABLE_QT_TRANSLATION=ON \ |       -DENABLE_QT_TRANSLATION=ON \ | ||||||
|       -DUSE_DISCORD_PRESENCE=ON \ |       -DUSE_DISCORD_PRESENCE=ON \ | ||||||
|       -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ |       -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ | ||||||
|       -DYUZU_USE_BUNDLED_FFMPEG=ON |       -DYUZU_USE_BUNDLED_FFMPEG=ON \ | ||||||
|  |       -GNinja | ||||||
|  |  | ||||||
| make -j$(nproc) | ninja | ||||||
|  |  | ||||||
| ccache -s | ccache -s | ||||||
|  |  | ||||||
| ctest -VV -C Release | ctest -VV -C Release | ||||||
|  |  | ||||||
| make install DESTDIR=AppDir | DESTDIR="$PWD/AppDir" ninja install | ||||||
| rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester | rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester | ||||||
|  |  | ||||||
| # Download tools needed to build an AppImage | # Download tools needed to build an AppImage | ||||||
|   | |||||||
| @@ -4,5 +4,5 @@ mkdir -p "ccache"  || true | |||||||
| chmod a+x ./.ci/scripts/linux/docker.sh | chmod a+x ./.ci/scripts/linux/docker.sh | ||||||
| # the UID for the container yuzu user is 1027 | # the UID for the container yuzu user is 1027 | ||||||
| sudo chown -R 1027 ./ | sudo chown -R 1027 ./ | ||||||
| docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh $1 | docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh "$1" | ||||||
| sudo chown -R $UID ./ | sudo chown -R $UID ./ | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								.ci/scripts/linux/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										5
									
								
								.ci/scripts/linux/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -24,6 +24,11 @@ cd build | |||||||
| wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage | wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage | ||||||
| chmod 755 appimagetool-x86_64.AppImage | chmod 755 appimagetool-x86_64.AppImage | ||||||
|  |  | ||||||
|  | # if FUSE is not available, then fallback to extract and run | ||||||
|  | if ! ./appimagetool-x86_64.AppImage --version; then | ||||||
|  |     export APPIMAGE_EXTRACT_AND_RUN=1 | ||||||
|  | fi | ||||||
|  |  | ||||||
| if [ "${RELEASE_NAME}" = "mainline" ]; then | if [ "${RELEASE_NAME}" = "mainline" ]; then | ||||||
|     # Generate update information if releasing to mainline |     # Generate update information if releasing to mainline | ||||||
|     ./appimagetool-x86_64.AppImage -u "gh-releases-zsync|yuzu-emu|yuzu-${RELEASE_NAME}|latest|yuzu-*.AppImage.zsync" AppDir "${APPIMAGE_NAME}" |     ./appimagetool-x86_64.AppImage -u "gh-releases-zsync|yuzu-emu|yuzu-${RELEASE_NAME}|latest|yuzu-*.AppImage.zsync" AppDir "${APPIMAGE_NAME}" | ||||||
|   | |||||||
| @@ -2,19 +2,23 @@ | |||||||
|  |  | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| cd /yuzu | #cd /yuzu | ||||||
|  |  | ||||||
| ccache -s | ccache -sv | ||||||
|  |  | ||||||
| mkdir build || true && cd build | mkdir -p "$HOME/.conan/profiles" | ||||||
| LDFLAGS="-fuse-ld=lld" | wget -c "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default" | ||||||
|  | wget -c "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/settings.yml" -O "$HOME/.conan/settings.yml" | ||||||
|  |  | ||||||
|  | mkdir -p build && cd build | ||||||
|  | export LDFLAGS="-fuse-ld=lld" | ||||||
| # -femulated-tls required due to an incompatibility between GCC and Clang | # -femulated-tls required due to an incompatibility between GCC and Clang | ||||||
| # TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate | # TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate | ||||||
|  | export CXXFLAGS="-femulated-tls" | ||||||
| cmake .. \ | cmake .. \ | ||||||
|     -DCMAKE_BUILD_TYPE=Release \ |     -DCMAKE_BUILD_TYPE=Release \ | ||||||
|     -DCMAKE_CXX_FLAGS="-femulated-tls" \ |     -DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWClangCross.cmake" \ | ||||||
|     -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWClangCross.cmake" \ |     -DDISPLAY_VERSION="$1" \ | ||||||
|     -DDISPLAY_VERSION=$1 \ |  | ||||||
|     -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ |     -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ | ||||||
|     -DENABLE_QT_TRANSLATION=ON \ |     -DENABLE_QT_TRANSLATION=ON \ | ||||||
|     -DUSE_CCACHE=ON \ |     -DUSE_CCACHE=ON \ | ||||||
| @@ -23,7 +27,7 @@ cmake .. \ | |||||||
|     -GNinja |     -GNinja | ||||||
| ninja yuzu yuzu-cmd | ninja yuzu yuzu-cmd | ||||||
|  |  | ||||||
| ccache -s | ccache -sv | ||||||
|  |  | ||||||
| echo "Tests skipped" | echo "Tests skipped" | ||||||
| #ctest -VV -C Release | #ctest -VV -C Release | ||||||
|   | |||||||
| @@ -4,5 +4,5 @@ mkdir -p "ccache" || true | |||||||
| chmod a+x ./.ci/scripts/windows/docker.sh | chmod a+x ./.ci/scripts/windows/docker.sh | ||||||
| # the UID for the container yuzu user is 1027 | # the UID for the container yuzu user is 1027 | ||||||
| sudo chown -R 1027 ./ | sudo chown -R 1027 ./ | ||||||
| docker run -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh $1 | docker run -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh "$1" | ||||||
| sudo chown -R $UID ./ | sudo chown -R $UID ./ | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								.ci/scripts/windows/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.ci/scripts/windows/upload.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										115
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,115 @@ | |||||||
|  | name: 'yuzu verify' | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   pull_request: | ||||||
|  |     branches: [ master ] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   format: | ||||||
|  |     name: 'verify format' | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     container: | ||||||
|  |       image: yuzuemu/build-environments:linux-clang-format | ||||||
|  |       options: -u 1001 | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v2 | ||||||
|  |         with: | ||||||
|  |           submodules: false | ||||||
|  |       - name: 'Verify Formatting' | ||||||
|  |         run: bash -ex ./.ci/scripts/format/script.sh | ||||||
|  |   build: | ||||||
|  |     name: 'test build' | ||||||
|  |     needs: format | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         include: | ||||||
|  |           - type: clang | ||||||
|  |             image: linux-fresh | ||||||
|  |           - type: linux | ||||||
|  |             image: linux-fresh | ||||||
|  |           - type: windows | ||||||
|  |             image: linux-mingw | ||||||
|  |     container: | ||||||
|  |       image: yuzuemu/build-environments:${{ matrix.image }} | ||||||
|  |       options: -u 1001 | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v2 | ||||||
|  |         with: | ||||||
|  |           submodules: recursive | ||||||
|  |           fetch-depth: 0 | ||||||
|  |       - name: Set up cache | ||||||
|  |         uses: actions/cache@v2 | ||||||
|  |         id: ccache-restore | ||||||
|  |         with: | ||||||
|  |           path: ~/.ccache | ||||||
|  |           key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }} | ||||||
|  |           restore-keys: | | ||||||
|  |             ${{ 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" | ||||||
|  |       - name: Pack | ||||||
|  |         run: ./.ci/scripts/${{ matrix.type }}/upload.sh | ||||||
|  |         env: | ||||||
|  |           NO_SOURCE_PACK: "YES" | ||||||
|  |       - name: Upload | ||||||
|  |         uses: actions/upload-artifact@v3 | ||||||
|  |         with: | ||||||
|  |           name: ${{ matrix.type }} | ||||||
|  |           path: artifacts/ | ||||||
|  |   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 | ||||||
|  |         # due to how chocolatey works, only cmd.exe is supported here | ||||||
|  |         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 | ||||||
|  |       - name: Pack | ||||||
|  |         shell: pwsh | ||||||
|  |         run: .\.ci\scripts\windows\upload.ps1 | ||||||
|  |       - name: Upload | ||||||
|  |         uses: actions/upload-artifact@v3 | ||||||
|  |         with: | ||||||
|  |           name: msvc | ||||||
|  |           path: artifacts/ | ||||||
| @@ -627,6 +627,14 @@ add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY | |||||||
|     -DBOOST_DATE_TIME_NO_LIB |     -DBOOST_DATE_TIME_NO_LIB | ||||||
|     -DBOOST_REGEX_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() | enable_testing() | ||||||
| add_subdirectory(externals) | add_subdirectory(externals) | ||||||
|   | |||||||
| @@ -2,5 +2,6 @@ function(copy_yuzu_FFmpeg_deps target_dir) | |||||||
|     include(WindowsCopyFiles) |     include(WindowsCopyFiles) | ||||||
|     set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") |     set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||||||
|     file(READ "${FFmpeg_PATH}/requirements.txt" FFmpeg_REQUIRED_DLLS) |     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}) |     windows_copy_files(${target_dir} ${FFmpeg_DLL_DIR} ${DLL_DEST} ${FFmpeg_REQUIRED_DLLS}) | ||||||
| endfunction(copy_yuzu_FFmpeg_deps) | 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 |     # /GT                 - Supports fiber safety for data allocated using static thread-local storage | ||||||
|     add_compile_options( |     add_compile_options( | ||||||
|         /MP |         /MP | ||||||
|         /Zi |  | ||||||
|         /Zm200 |         /Zm200 | ||||||
|         /Zo |         /Zo | ||||||
|         /permissive- |         /permissive- | ||||||
| @@ -79,6 +78,13 @@ if (MSVC) | |||||||
|         /we5245 # 'function': unreferenced function with internal linkage has been removed |         /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) |     if (ARCHITECTURE_x86_64) | ||||||
|         add_compile_options(/QIntel-jcc-erratum) |         add_compile_options(/QIntel-jcc-erratum) | ||||||
|     endif() |     endif() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user