From e696dff28fc607777ad5304e1ae0c4e50691636f Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 18 Mar 2026 07:26:22 +0000 Subject: [PATCH] qrc buildage exclude --- CMakeLists.txt | 4 ++++ src/yuzu/CMakeLists.txt | 40 ++++++++++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16b6396bf2..07b2813448 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,10 @@ endif() # my unity/jumbo build option(ENABLE_UNITY_BUILD "Enable Unity/Jumbo build" OFF) +if(MSVC AND ENABLE_UNITY_BUILD) + # Unity builds need big objects for MSVC... + add_compile_options(/bigobj) +endif() # qt stuff option(ENABLE_QT "Enable the Qt frontend" ON) diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 982c0eb196..b4a9661e13 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) +set(CMAKE_AUTORCC OFF) set(CMAKE_AUTOUIC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -269,6 +269,10 @@ file(GLOB COMPAT_LIST file(GLOB_RECURSE ICONS ${PROJECT_SOURCE_DIR}/dist/icons/*) file(GLOB_RECURSE THEMES ${PROJECT_SOURCE_DIR}/dist/qt_themes/*) +file(GLOB QRC_COMPAT_LIST ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc) +file(GLOB_RECURSE QRC_ICONS ${PROJECT_SOURCE_DIR}/dist/icons/*.qrc) +file(GLOB_RECURSE QRC_THEMES ${PROJECT_SOURCE_DIR}/dist/qt_themes/*.qrc) + if (ENABLE_UPDATE_CHECKER) target_compile_definitions(yuzu PUBLIC ENABLE_UPDATE_CHECKER) endif() @@ -341,26 +345,34 @@ if (ENABLE_QT_TRANSLATION) qt_add_translation(LANGUAGES_QM ${PROJECT_SOURCE_DIR}/dist/english_plurals/en.ts) # Build a QRC file from the QM file list - set(LANGUAGES_QRC ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc) - file(WRITE ${LANGUAGES_QRC} "\n") + set(QRC_LANGUAGES ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc) + file(WRITE ${QRC_LANGUAGES} "\n") foreach (QM ${LANGUAGES_QM}) get_filename_component(QM_FILE ${QM} NAME) - file(APPEND ${LANGUAGES_QRC} "${QM_FILE}\n") + file(APPEND ${QRC_LANGUAGES} "${QM_FILE}\n") endforeach (QM) - file(APPEND ${LANGUAGES_QRC} "") - - # Add the QRC file to package in all QM files - qt_add_resources(LANGUAGES ${LANGUAGES_QRC}) + file(APPEND ${QRC_LANGUAGES} "") else() set(LANGUAGES) endif() -target_sources(yuzu - PRIVATE - ${COMPAT_LIST} - ${ICONS} - ${LANGUAGES} - ${THEMES}) +target_sources(yuzu PRIVATE + ${COMPAT_LIST} + ${ICONS} + ${THEMES} + ${LANGUAGES} +) + +# Add the QRC file to package in all QM files +qt_add_resources( + ${QRC_COMPAT_LIST} + ${QRC_ICONS} + ${QRC_THEMES} + LANGUAGES ${QRC_LANGUAGES} + OUTPUT_TARGETS ${QRC_OUTPUT_TARGETS} +) +set_source_files_properties(${QRC_OUTPUT_TARGETS} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) +target_sources(yuzu PRIVATE ${QRC_OUTPUT_TARGETS}) if (APPLE) # Normal icns