diff --git a/CMakeLists.txt b/CMakeLists.txt index 4490df21cb..2c5e33cbcf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,10 +73,10 @@ option(ENABLE_UPDATE_CHECKER "Enable update checker (for Qt and Android)" OFF) cmake_dependent_option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF "NOT YUZU_USE_BUNDLED_QT" OFF) cmake_dependent_option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF "NOT YUZU_USE_BUNDLED_QT" OFF) set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries") -cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF) +cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT AND NOT (CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")" OFF) # non-linux bundled qt are static -if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX)) +if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX) AND NOT (CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")) set(YUZU_STATIC_BUILD ON) endif() @@ -570,6 +570,7 @@ if (ENABLE_QT) else() message(STATUS "Using system Qt") if (NOT Qt6_DIR) + # You can use this as reference: set(Qt6_DIR "" CACHE PATH "Additional path to search for Qt6 libraries like C:/Qt/6.8.3/msvc2022_64/lib/cmake/Qt6") endif() list(APPEND CMAKE_PREFIX_PATH "${Qt6_DIR}") @@ -672,6 +673,9 @@ if (MSVC AND CMAKE_GENERATOR STREQUAL "Ninja") /wd4711 # function 'function' selected for automatic inline expansion /wd4820 # 'bytes' bytes padding added after construct 'member_name' ) + # For CMake 3.25+ apply ProgramDatabase as default debug information format + set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$:ProgramDatabase>") + cmake_policy(SET CMP0141 NEW) endif() # Adjustments for clang-cl diff --git a/externals/cmake-modules/UseCcache.cmake b/externals/cmake-modules/UseCcache.cmake index 34a9de3cf2..68e7c27b0b 100644 --- a/externals/cmake-modules/UseCcache.cmake +++ b/externals/cmake-modules/UseCcache.cmake @@ -19,9 +19,9 @@ if(USE_CCACHE) message(FATAL_ERROR "[UseCcache] USE_CCACHE enabled, but no " "executable found at: ${CCACHE_PATH}") endif() - # Follow SCCache recommendations: + # Follow SCCache recommendations only for MINGW: # - if(WIN32) + if(MINGW) string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG