move platform specific stuff into scripts

This commit is contained in:
Vogel, Rick 2024-01-22 12:46:39 +01:00 committed by uwerat
parent 41e1083280
commit 82fb662607
5 changed files with 40 additions and 8 deletions

View File

@ -130,6 +130,18 @@ install(
COMPONENT
Devel)
# install cmake helper scripts
install(
FILES
${QSK_CMAKE_DIR}/scripts/QSkinnySvg2Qvg.lin.sh
${QSK_CMAKE_DIR}/scripts/QSkinnySvg2Qvg.mac.sh
${QSK_CMAKE_DIR}/scripts/QSkinnySvg2Qvg.win.bat
DESTINATION
${PACKAGE_LOCATION}/scripts
COMPONENT
Devel)
# Build other libraries
if(BUILD_QML_EXPORT)
add_subdirectory(qmlexport)

View File

@ -19,26 +19,26 @@ function(qsk_svg2qvg SVG_FILENAME QVG_FILENAME)
get_target_property(Svg2QvgLocation Qsk::Svg2Qvg LOCATION)
get_filename_component(Svg2QvgDirectory ${Svg2QvgLocation} DIRECTORY)
# find svg2qvg target location
# find qt svg 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}")
# select platform specific wrapper script
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(cmd "set PATH=\%PATH\%;${QtSvgTargetDirectory} && ${cmd}")
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.win.bat)
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(cmd "DYLD_LIBRARY_PATH=\$DYLD_LIBRARY_PATH:${QtSvgTargetDirectory} ${cmd}")
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.mac.sh)
elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(cmd "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${QtSvgTargetDirectory} ${cmd}")
set(script ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/scripts/QSkinnySvg2Qvg.lin.sh)
else()
message(FATAL "Unsupported operating system")
endif()
add_custom_command(
COMMAND ${cmd}
COMMAND ${script} ${Svg2QvgLocation} ${SVG_FILENAME} ${QVG_FILENAME} ${QtSvgTargetDirectory}
OUTPUT ${QVG_FILENAME}
DEPENDS ${SVG_FILENAME}
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}")
COMMENT "Compiling ${SVG_FILENAME} to ${QVG_FILENAME}"
VERBATIM)
endfunction()

View File

@ -0,0 +1,7 @@
#/bin/bash
SVG2QVG=$1
SVG=$2
QVG=$3
LD_LIBRARY_PATH=$4:$LD_LIBRARY_PATH $SVG2QVG $SVG $QVG

View File

@ -0,0 +1,7 @@
#/bin/bash
SVG2QVG=$1
SVG=$2
QVG=$3
DYLD_LIBRARY_PATH=$4:$DYLD_LIBRARY_PATH $SVG2QVG $SVG $QVG

View File

@ -0,0 +1,6 @@
set SVG2QVG=%1
set SVG=%2
set QVG=%3
set PATH=%4;%PATH%
%SVG2QVG% %SVG% %QVG%