Skip to content

Commit

Permalink
resolve qt svg location
Browse files Browse the repository at this point in the history
  • Loading branch information
rick-vogel authored and uwerat committed Feb 1, 2024
1 parent f1f935e commit 5038f08
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 2 deletions.
1 change: 1 addition & 0 deletions cmake/QSkinnyConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTools.cmake" OPTIONAL)
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyToolsTargets.cmake" OPTIONAL)
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyQmlExportTargets.cmake" OPTIONAL)
11 changes: 9 additions & 2 deletions cmake/QSkinnyTools.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,18 @@
function(qsk_svg2qvg SVG_FILENAME QVG_FILENAME)
get_filename_component(QVG_FILENAME ${QVG_FILENAME} ABSOLUTE)
get_filename_component(SVG_FILENAME ${SVG_FILENAME} ABSOLUTE)

if(TARGET Qt6::Svg)
set(QtSvgTarget Qt6::Svg)
elseif(TARGET Qt5::Svg)
set(QtSvgTarget Qt5::Svg)
endif()

add_custom_command(
COMMAND svg2qvg ${SVG_FILENAME} ${QVG_FILENAME}
COMMAND Qsk::Svg2Qvg ${SVG_FILENAME} ${QVG_FILENAME}
OUTPUT ${QVG_FILENAME}
DEPENDS ${SVG_FILENAME}
WORKING_DIRECTORY $<TARGET_FILE_DIR:Qt${QT_VERSION_MAJOR}::Svg>
WORKING_DIRECTORY $<TARGET_FILE_DIR:${QtSvgTarget}>
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}")
endfunction()

10 changes: 10 additions & 0 deletions examples/iotdashboard_smoketest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,13 @@ add_subdirectory(../iotdashboard ${CMAKE_CURRENT_BINARY_DIR}/../iotdashboard)
get_target_property(iotdashboard_COMPILE_DEFINITIONS iotdashboard COMPILE_DEFINITIONS)
list(FILTER iotdashboard_COMPILE_DEFINITIONS EXCLUDE REGEX [[^USE_SHORTCUTS=1$]])
set_property(TARGET iotdashboard PROPERTY COMPILE_DEFINITIONS ${iotdashboard_COMPILE_DEFINITIONS})

# generate qvg consuming dummy target
qsk_svg2qvg(
../iotdashboard/images/ac.svg
${CMAKE_CURRENT_BINARY_DIR}/ac.qvg)

file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp "int main(){}")
add_executable(test_svg_qgv
${CMAKE_CURRENT_BINARY_DIR}/main.cpp
${CMAKE_CURRENT_BINARY_DIR}/ac.qvg)
24 changes: 24 additions & 0 deletions tools/svg2qvg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,27 @@ target_link_libraries(${target} PRIVATE Qt::Svg)
set_target_properties(${target} PROPERTIES FOLDER tools)

install(TARGETS ${target})

# packaging
set(PACKAGE_TARGET_FILENAME QSkinnyToolsTargets.cmake)

set_target_properties(${target} PROPERTIES EXPORT_NAME Svg2Qvg)

install(TARGETS ${target} EXPORT ${PACKAGE_TARGET_FILENAME})

export(EXPORT ${PACKAGE_TARGET_FILENAME}
NAMESPACE ${PACKAGE_NAMESPACE})

install(EXPORT ${PACKAGE_TARGET_FILENAME}
FILE
${PACKAGE_TARGET_FILENAME}
NAMESPACE
${PACKAGE_NAMESPACE}
DESTINATION
${PACKAGE_LOCATION})

if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
install(FILES $<TARGET_PDB_FILE:${target}>
DESTINATION
${CMAKE_INSTALL_BINDIR} OPTIONAL)
endif()

0 comments on commit 5038f08

Please sign in to comment.