qskinny/cmake/QSkinnyTools.cmake

49 lines
2.0 KiB
CMake
Raw Normal View History

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
# 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
# select platform specific wrapper script
2024-01-22 11:10:18 +01:00
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
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")
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")
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(
COMMAND ${script} ${Svg2QvgLocation} ${SVG_FILENAME} ${QVG_FILENAME} ${QtSvgTargetDirectory}
2023-04-05 17:47:15 +02:00
OUTPUT ${QVG_FILENAME}
DEPENDS ${SVG_FILENAME}
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}"
VERBATIM)
2023-04-05 17:47:15 +02:00
endfunction()