Browse Source

qrc buildage exclude

lizzie/unity-build
lizzie 1 week ago
parent
commit
e696dff28f
  1. 4
      CMakeLists.txt
  2. 40
      src/yuzu/CMakeLists.txt

4
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)

40
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} "<RCC><qresource prefix=\"languages\">\n")
set(QRC_LANGUAGES ${CMAKE_CURRENT_BINARY_DIR}/languages.qrc)
file(WRITE ${QRC_LANGUAGES} "<RCC><qresource prefix=\"languages\">\n")
foreach (QM ${LANGUAGES_QM})
get_filename_component(QM_FILE ${QM} NAME)
file(APPEND ${LANGUAGES_QRC} "<file>${QM_FILE}</file>\n")
file(APPEND ${QRC_LANGUAGES} "<file>${QM_FILE}</file>\n")
endforeach (QM)
file(APPEND ${LANGUAGES_QRC} "</qresource></RCC>")
# Add the QRC file to package in all QM files
qt_add_resources(LANGUAGES ${LANGUAGES_QRC})
file(APPEND ${QRC_LANGUAGES} "</qresource></RCC>")
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

Loading…
Cancel
Save