fix(cmake): generate resources in build directory (#5940)

This commit is contained in:
nerix
2025-02-08 22:05:52 +01:00
committed by GitHub
parent 579d5c0bdc
commit f4bfee98b4
4 changed files with 15 additions and 17 deletions
+12 -12
View File
@@ -21,12 +21,22 @@ list(FILTER RES_IMAGE_FILES EXCLUDE REGEX ${RES_IMAGE_EXCLUDE_FILTER})
###############################
# Generate resources_autogenerated.qrc
###############################
set(WINDOWS_ARGUMENTS "@Invalid()") # empty QVariant() in QSettings
if (CHATTERINO_USE_GDI_FONTENGINE AND Qt${MAJOR_QT_VERSION}_VERSION VERSION_GREATER_EQUAL "6.8.0")
message(STATUS "Using legacy GDI fontengine")
set(WINDOWS_ARGUMENTS "fontengine=gdi")
endif ()
configure_file("${CMAKE_CURRENT_LIST_DIR}/qt.conf.in" "${CMAKE_BINARY_DIR}/autogen/qt.conf")
set(RES_QT_CONF_PATH "${CMAKE_BINARY_DIR}/autogen/qt.conf")
message(STATUS "Generating resources_autogenerated.qrc")
foreach (_file ${RES_ALL_FILES})
list(APPEND RES_RESOURCES_CONTENT " <file>${_file}</file>")
list(APPEND RES_RESOURCES_CONTENT " <file alias=\"${_file}\">${RES_DIR}/${_file}</file>")
endforeach ()
list(JOIN RES_RESOURCES_CONTENT "\n" RES_RESOURCES_CONTENT)
configure_file(${CMAKE_CURRENT_LIST_DIR}/resources_autogenerated.qrc.in ${RES_DIR}/resources_autogenerated.qrc @ONLY)
configure_file("${CMAKE_CURRENT_LIST_DIR}/resources_autogenerated.qrc.in" "${CMAKE_BINARY_DIR}/autogen/resources_autogenerated.qrc" @ONLY)
list(APPEND RES_AUTOGEN_FILES "${CMAKE_BINARY_DIR}/autogen/resources_autogenerated.qrc")
###############################
# Generate ResourcesAutogen.cpp
@@ -88,17 +98,7 @@ if (WIN32)
list(APPEND RES_AUTOGEN_FILES "${CMAKE_BINARY_DIR}/autogen/windows.rc")
endif ()
set(WINDOWS_ARGUMENTS "@Invalid()") # empty QVariant() in QSettings
if (CHATTERINO_USE_GDI_FONTENGINE AND Qt${MAJOR_QT_VERSION}_VERSION VERSION_GREATER_EQUAL "6.8.0")
message(STATUS "Using legacy GDI fontengine")
set(WINDOWS_ARGUMENTS "fontengine=gdi")
endif ()
configure_file("${CMAKE_CURRENT_LIST_DIR}/qt.conf.in" "${CMAKE_SOURCE_DIR}/resources/qt.conf")
list(APPEND RES_AUTOGEN_FILES "${CMAKE_SOURCE_DIR}/resources/qt.conf")
list(APPEND RES_AUTOGEN_FILES
"${CMAKE_SOURCE_DIR}/resources/resources_autogenerated.qrc"
"${CMAKE_BINARY_DIR}/autogen/ResourcesAutogen.cpp"
"${CMAKE_BINARY_DIR}/autogen/ResourcesAutogen.hpp"
)
@@ -7,6 +7,6 @@
@RES_RESOURCES_CONTENT@
</qresource>
<qresource prefix="/qt/etc">
<file>qt.conf</file>
<file alias="qt.conf">@RES_QT_CONF_PATH@</file>
</qresource>
</RCC>
</RCC>