Skip to content

Commit

Permalink
Configure CMake to install Qt6Svg.dll and qsvg.dll in build.
Browse files Browse the repository at this point in the history
Without these libraries, SVG icon engine is not available, and SVG
images (only application logo at this time) cannot be rasterized.
  • Loading branch information
cristian64 committed Mar 9, 2024
1 parent 31b70bd commit 7ff7848
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 20 additions & 0 deletions Source/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -61,17 +64,22 @@ 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)
if($<CONFIG:Debug>)
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($<CONFIG:Debug>)
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($<CONFIG:Debug>)
add_custom_command(
TARGET dolphin-memory-engine POST_BUILD
Expand All @@ -87,12 +95,24 @@ if(WIN32)
$<TARGET_FILE:Qt6::Gui>
$<TARGET_FILE_DIR:dolphin-memory-engine>
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt6::Svg>
$<TARGET_FILE_DIR:dolphin-memory-engine>
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
$<TARGET_FILE_DIR:dolphin-memory-engine>/imageformats
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt6::QSvgPlugin>
$<TARGET_FILE_DIR:dolphin-memory-engine>/imageformats
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
$<TARGET_FILE_DIR:dolphin-memory-engine>/platforms
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt6::QWindowsIntegrationPlugin>
$<TARGET_FILE_DIR:dolphin-memory-engine>/platforms
TARGET dolphin-memory-engine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
$<TARGET_FILE_DIR:dolphin-memory-engine>/styles
TARGET dolphin-memory-engine POST_BUILD
Expand Down

0 comments on commit 7ff7848

Please sign in to comment.