From b491f796544f34fa9f5e81f8ca33f62449d13b3a Mon Sep 17 00:00:00 2001 From: cristian64 Date: Sat, 9 Mar 2024 02:41:04 +0000 Subject: [PATCH] Configure CMake to install `Qt6Svg.dll` and `qsvg.dll` in build. Without these libraries, SVG icon engine is not available, and SVG images (only application logo at this time) cannot be rasterized. --- .github/workflows/build.yml | 2 +- Source/CMakeLists.txt | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9297867..af9741cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,7 +61,7 @@ jobs: - name: Install Dependencies run: | sudo apt-get update - sudo apt install cmake libevdev-dev qt6-base-private-dev libqt6svg6 libgl1-mesa-dev libfuse2 + sudo apt install cmake libevdev-dev qt6-base-private-dev libqt6svg6 libqt6svg6-dev libgl1-mesa-dev libfuse2 shell: bash - name: Install GCC 10 and G++ 10 diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 91fc4180..e1c90f6e 100755 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -48,6 +48,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) find_package(Qt6Widgets REQUIRED) find_package(Qt6Core REQUIRED) find_package(Qt6Gui REQUIRED) +if (NOT APPLE) +find_package(Qt6Svg REQUIRED) +endif () set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) @@ -61,6 +64,9 @@ add_executable(dolphin-memory-engine ${GUI_TYPE} ${SRCS}) target_link_libraries(dolphin-memory-engine Qt6::Widgets) target_link_libraries(dolphin-memory-engine Qt6::Gui) target_link_libraries(dolphin-memory-engine Qt6::Core) +if (NOT APPLE) +target_link_libraries(dolphin-memory-engine Qt6::Svg) +endif () if(WIN32) set_target_properties(dolphin-memory-engine PROPERTIES OUTPUT_NAME DolphinMemoryEngine) @@ -68,10 +74,12 @@ if(WIN32) get_target_property(WIDGETDLL Qt6::Widgets IMPORTED_LOCATION_DEBUG) get_target_property(COREDLL Qt6::Widgets IMPORTED_LOCATION_DEBUG) get_target_property(GUIDLL Qt6::Widgets IMPORTED_LOCATION_DEBUG) + get_target_property(SVGDLL Qt6::Widgets IMPORTED_LOCATION_DEBUG) else($) get_target_property(WIDGETDLL Qt6::Widgets IMPORTED_LOCATION_RELEASE) get_target_property(COREDLL Qt6::Widgets IMPORTED_LOCATION_RELEASE) get_target_property(GUIDLL Qt6::Widgets IMPORTED_LOCATION_RELEASE) + get_target_property(SVGDLL Qt6::Widgets IMPORTED_LOCATION_RELEASE) endif($) add_custom_command( TARGET dolphin-memory-engine POST_BUILD @@ -87,12 +95,24 @@ if(WIN32) $ $ TARGET dolphin-memory-engine POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + $ + $ + TARGET dolphin-memory-engine POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + $/imageformats + TARGET dolphin-memory-engine POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + $ + $/imageformats + TARGET dolphin-memory-engine POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory $/platforms TARGET dolphin-memory-engine POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $/platforms + TARGET dolphin-memory-engine POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory $/styles TARGET dolphin-memory-engine POST_BUILD