diff --git a/CMake/CCache.cmake b/CMake/CCache.cmake index 9388b0a28f..775256cd3b 100644 --- a/CMake/CCache.cmake +++ b/CMake/CCache.cmake @@ -1,7 +1,6 @@ -find_program(CCACHE_BIN ccache) +find_program(CCACHE_BIN NAMES ccache sccache) if(CCACHE_BIN) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE_BIN}) - set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE_BIN}) # ccache uses -I when compiling without preprocessor, which makes clang complain. if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") diff --git a/CMake/FlagsOverride.cmake b/CMake/FlagsOverride.cmake new file mode 100644 index 0000000000..39c55aa62a --- /dev/null +++ b/CMake/FlagsOverride.cmake @@ -0,0 +1,7 @@ +if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + foreach(f CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if("${${f}}" MATCHES "/Zi") + string(REGEX REPLACE "/Zi" "/Z7" "${f}" "${${f}}") + endif() + endforeach() +endif() \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index dfccece1d5..2ce7c445b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,8 @@ set(CMAKE_OSX_ARCHITECTURES "x86_64") # handle configuration options set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0" CACHE STRING "") +set(CMAKE_USER_MAKE_RULES_OVERRIDE "CMake/FlagsOverride.cmake") + project(dolphin-emu) # Name of the Dolphin distributor. If you redistribute Dolphin builds (forks,