2023-04-05 17:47:15 +02:00
|
|
|
############################################################################
|
2024-01-17 14:31:45 +01:00
|
|
|
# QSkinny - Copyright (C) The authors
|
2023-04-06 09:23:37 +02:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
2023-04-05 17:47:15 +02:00
|
|
|
############################################################################
|
|
|
|
|
|
|
|
## @param SVG_FILENAME absolute filename to the svg
|
|
|
|
## @param QVG_FILENAME absolute filename to the qvg
|
|
|
|
function(qsk_svg2qvg SVG_FILENAME QVG_FILENAME)
|
|
|
|
get_filename_component(QVG_FILENAME ${QVG_FILENAME} ABSOLUTE)
|
|
|
|
get_filename_component(SVG_FILENAME ${SVG_FILENAME} ABSOLUTE)
|
2024-01-19 16:03:23 +01:00
|
|
|
|
|
|
|
if(TARGET Qt6::Svg)
|
|
|
|
set(QtSvgTarget Qt6::Svg)
|
|
|
|
elseif(TARGET Qt5::Svg)
|
|
|
|
set(QtSvgTarget Qt5::Svg)
|
|
|
|
endif()
|
2024-01-22 11:10:18 +01:00
|
|
|
|
|
|
|
# find svg2qvg target location
|
|
|
|
get_target_property(Svg2QvgLocation Qsk::Svg2Qvg LOCATION)
|
|
|
|
get_filename_component(Svg2QvgDirectory ${Svg2QvgLocation} DIRECTORY)
|
2024-01-22 16:00:44 +01:00
|
|
|
message(STATUS "Svg2QvgLocation: ${Svg2QvgLocation}")
|
|
|
|
message(STATUS "Svg2QvgDirectory: ${Svg2QvgDirectory}")
|
2024-01-19 16:03:23 +01:00
|
|
|
|
2024-01-22 12:46:39 +01:00
|
|
|
# find qt svg target location
|
2024-01-22 11:10:18 +01:00
|
|
|
get_target_property(QtSvgTargetLocation ${QtSvgTarget} LOCATION)
|
|
|
|
get_filename_component(QtSvgTargetDirectory ${QtSvgTargetLocation} DIRECTORY)
|
2024-01-22 16:00:44 +01:00
|
|
|
message(STATUS "QtSvgTargetLocation: ${QtSvgTargetLocation}")
|
|
|
|
message(STATUS "QtSvgTargetDirectory: ${QtSvgTargetDirectory}")
|
2024-01-22 11:10:18 +01:00
|
|
|
|
2024-01-22 12:46:39 +01:00
|
|
|
# select platform specific wrapper script
|
2024-01-22 11:10:18 +01:00
|
|
|
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
2024-01-22 12:46:39 +01:00
|
|
|
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.win.bat)
|
2024-01-22 11:10:18 +01:00
|
|
|
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
2024-01-22 12:46:39 +01:00
|
|
|
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.mac.sh)
|
2024-01-22 11:10:18 +01:00
|
|
|
elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
2024-01-22 12:46:39 +01:00
|
|
|
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.lin.sh)
|
2024-01-22 11:10:18 +01:00
|
|
|
else()
|
|
|
|
message(FATAL "Unsupported operating system")
|
|
|
|
endif()
|
|
|
|
|
2023-04-05 17:47:15 +02:00
|
|
|
add_custom_command(
|
2024-01-22 12:46:39 +01:00
|
|
|
COMMAND ${script} ${Svg2QvgLocation} ${SVG_FILENAME} ${QVG_FILENAME} ${QtSvgTargetDirectory}
|
2023-04-05 17:47:15 +02:00
|
|
|
OUTPUT ${QVG_FILENAME}
|
|
|
|
DEPENDS ${SVG_FILENAME}
|
2024-01-22 12:46:39 +01:00
|
|
|
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}"
|
|
|
|
VERBATIM)
|
2023-04-05 17:47:15 +02:00
|
|
|
endfunction()
|
|
|
|
|