From 03c8e0f74f2f4645b4a3dcc1ba859e7d2e101e42 Mon Sep 17 00:00:00 2001 From: crueter Date: Wed, 1 Apr 2026 02:41:49 -0400 Subject: [PATCH] ACTUALLY fix VMA garbage Signed-off-by: crueter --- src/tests/CMakeLists.txt | 2 ++ src/tests/common/bit_field.cpp | 6 ++--- src/video_core/vulkan_common/vma.h | 7 ----- src/yuzu/CMakeLists.txt | 43 +++++++++++------------------- src/yuzu_cmd/CMakeLists.txt | 6 +++-- 5 files changed, 25 insertions(+), 39 deletions(-) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 875c40604c..7de0898b58 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -37,3 +37,5 @@ if (NOT MSVC) $<$:-Wno-unused-parameter> $<$:-Wno-missing-field-initializers>) endif() + +set_target_properties(tests PROPERTIES UNITY_BUILD OFF) diff --git a/src/tests/common/bit_field.cpp b/src/tests/common/bit_field.cpp index 2d23ade06e..6fdabd9b3f 100644 --- a/src/tests/common/bit_field.cpp +++ b/src/tests/common/bit_field.cpp @@ -4,9 +4,6 @@ // SPDX-FileCopyrightText: 2019 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#define VMA_IMPLEMENTATION -#include "video_core/vulkan_common/vma.h" - #include #include #include @@ -93,3 +90,6 @@ TEST_CASE("BitField", "[common]") { 0b11000111, }}); } + +#define VMA_IMPLEMENTATION +#include "video_core/vulkan_common/vma.h" diff --git a/src/video_core/vulkan_common/vma.h b/src/video_core/vulkan_common/vma.h index 4a76b775b8..e022b2bf7d 100644 --- a/src/video_core/vulkan_common/vma.h +++ b/src/video_core/vulkan_common/vma.h @@ -7,11 +7,6 @@ #include "video_core/vulkan_common/vulkan.h" -// #if !defined(VMA_IMPLEMENTATION) && !defined(VMA_IMPLEMENTED) -// #define VMA_IMPLEMENTED -// #define VMA_IMPLEMENTATION -// #endif - #define VMA_STATIC_VULKAN_FUNCTIONS 0 #define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 @@ -24,5 +19,3 @@ #ifdef _MSC_VER #pragma warning( pop ) #endif - -// #undef VMA_IMPLEMENTATION diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 41fb404220..e5b1a816c1 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 OFF) +set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -266,14 +266,9 @@ endif() file(GLOB COMPAT_LIST ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.json) - 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() @@ -346,34 +341,26 @@ 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(QRC_LANGUAGES ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc) - file(WRITE ${QRC_LANGUAGES} "\n") + set(LANGUAGES_QRC ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc) + file(WRITE ${LANGUAGES_QRC} "\n") foreach (QM ${LANGUAGES_QM}) get_filename_component(QM_FILE ${QM} NAME) - file(APPEND ${QRC_LANGUAGES} "${QM_FILE}\n") + file(APPEND ${LANGUAGES_QRC} "${QM_FILE}\n") endforeach (QM) - file(APPEND ${QRC_LANGUAGES} "") + file(APPEND ${LANGUAGES_QRC} "") + + # Add the QRC file to package in all QM files + qt_add_resources(LANGUAGES ${LANGUAGES_QRC}) else() set(LANGUAGES) endif() -target_sources(yuzu PRIVATE - ${COMPAT_LIST} - ${ICONS} - ${THEMES} - ${LANGUAGES} -) - -# Add the QRC file to package in all QM files -qt_add_resources(yuzu - ${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}) +target_sources(yuzu + PRIVATE + ${COMPAT_LIST} + ${ICONS} + ${LANGUAGES} + ${THEMES}) # TODO(crueter): Move Assets.car/icon/icns handling to its own Module. if (APPLE) @@ -476,4 +463,6 @@ endif() # Remember that the linker is incredibly stupid. target_link_libraries(yuzu PRIVATE OpenSSL::SSL OpenSSL::Crypto SDL2::SDL2) +set_target_properties(yuzu PROPERTIES UNITY_BUILD OFF) + create_target_directory_groups(yuzu) diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt index 8f92525ad6..4aa90fc91a 100644 --- a/src/yuzu_cmd/CMakeLists.txt +++ b/src/yuzu_cmd/CMakeLists.txt @@ -55,8 +55,6 @@ if(WIN32) endif() endif() -create_target_directory_groups(yuzu-cmd) - # needed for vma if (NOT MSVC) target_compile_options(yuzu-cmd PRIVATE @@ -65,3 +63,7 @@ if (NOT MSVC) $<$:-Wno-unused-parameter> $<$:-Wno-missing-field-initializers>) endif() + +set_target_properties(yuzu-cmd PROPERTIES UNITY_BUILD OFF) + +create_target_directory_groups(yuzu-cmd)