diff --git a/cmake/QSkinnyConfig.cmake b/cmake/QSkinnyConfig.cmake index 8520eeb3..e8e7f360 100644 --- a/cmake/QSkinnyConfig.cmake +++ b/cmake/QSkinnyConfig.cmake @@ -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) diff --git a/cmake/QSkinnyTools.cmake b/cmake/QSkinnyTools.cmake index 608d439d..eca835e6 100644 --- a/cmake/QSkinnyTools.cmake +++ b/cmake/QSkinnyTools.cmake @@ -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 $ + WORKING_DIRECTORY $ COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}") endfunction() diff --git a/examples/iotdashboard_smoketest/CMakeLists.txt b/examples/iotdashboard_smoketest/CMakeLists.txt index 8f8a0c5f..205b747a 100644 --- a/examples/iotdashboard_smoketest/CMakeLists.txt +++ b/examples/iotdashboard_smoketest/CMakeLists.txt @@ -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) \ No newline at end of file diff --git a/tools/svg2qvg/CMakeLists.txt b/tools/svg2qvg/CMakeLists.txt index 05507a7b..90c70e93 100644 --- a/tools/svg2qvg/CMakeLists.txt +++ b/tools/svg2qvg/CMakeLists.txt @@ -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 $ + DESTINATION + ${CMAKE_INSTALL_BINDIR} OPTIONAL) +endif() \ No newline at end of file