qskinny/cmake/QSkinnyTools.cmake

45 lines
1.8 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-19 16:03:23 +01:00
2024-01-22 11:10:18 +01:00
# find svg2qvg target location
get_target_property(QtSvgTargetLocation ${QtSvgTarget} LOCATION)
get_filename_component(QtSvgTargetDirectory ${QtSvgTargetLocation} DIRECTORY)
# construct a platform specific command
set(cmd "${Svg2QvgBinary} ${SVG_FILENAME} ${QVG_FILENAME}")
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(cmd "set PATH=\%PATH\%;${QtSvgTargetDirectory} && ${cmd}")
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(cmd "DYLD_LIBRARY_PATH=\$DYLD_LIBRARY_PATH:${QtSvgTargetDirectory} ${cmd}")
elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(cmd "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${QtSvgTargetDirectory} ${cmd}")
else()
message(FATAL "Unsupported operating system")
endif()
2023-04-05 17:47:15 +02:00
add_custom_command(
2024-01-22 11:10:18 +01:00
COMMAND ${cmd}
2023-04-05 17:47:15 +02:00
OUTPUT ${QVG_FILENAME}
DEPENDS ${SVG_FILENAME}
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}")
endfunction()