Browse Source

ACTUALLY fix VMA garbage

Signed-off-by: crueter <crueter@eden-emu.dev>
lizzie/unity-build
crueter 15 hours ago
parent
commit
03c8e0f74f
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 2
      src/tests/CMakeLists.txt
  2. 6
      src/tests/common/bit_field.cpp
  3. 7
      src/video_core/vulkan_common/vma.h
  4. 43
      src/yuzu/CMakeLists.txt
  5. 6
      src/yuzu_cmd/CMakeLists.txt

2
src/tests/CMakeLists.txt

@ -37,3 +37,5 @@ if (NOT MSVC)
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-parameter>
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-missing-field-initializers>)
endif()
set_target_properties(tests PROPERTIES UNITY_BUILD OFF)

6
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 <array>
#include <cstring>
#include <type_traits>
@ -93,3 +90,6 @@ TEST_CASE("BitField", "[common]") {
0b11000111,
}});
}
#define VMA_IMPLEMENTATION
#include "video_core/vulkan_common/vma.h"

7
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

43
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} "<RCC><qresource prefix=\"languages\">\n")
set(LANGUAGES_QRC ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc)
file(WRITE ${LANGUAGES_QRC} "<RCC><qresource prefix=\"languages\">\n")
foreach (QM ${LANGUAGES_QM})
get_filename_component(QM_FILE ${QM} NAME)
file(APPEND ${QRC_LANGUAGES} "<file>${QM_FILE}</file>\n")
file(APPEND ${LANGUAGES_QRC} "<file>${QM_FILE}</file>\n")
endforeach (QM)
file(APPEND ${QRC_LANGUAGES} "</qresource></RCC>")
file(APPEND ${LANGUAGES_QRC} "</qresource></RCC>")
# 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)

6
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)
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-parameter>
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-missing-field-initializers>)
endif()
set_target_properties(yuzu-cmd PROPERTIES UNITY_BUILD OFF)
create_target_directory_groups(yuzu-cmd)
Loading…
Cancel
Save