diff --git a/CMakeLists.txt b/CMakeLists.txt index e3978c24..e974e44c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/QSkinnyTools.cmake b/cmake/QSkinnyTools.cmake index a99ea62d..c4838a32 100644 --- a/cmake/QSkinnyTools.cmake +++ b/cmake/QSkinnyTools.cmake @@ -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() diff --git a/cmake/scripts/QSkinnySvg2Qvg.lin.sh b/cmake/scripts/QSkinnySvg2Qvg.lin.sh new file mode 100644 index 00000000..7e284410 --- /dev/null +++ b/cmake/scripts/QSkinnySvg2Qvg.lin.sh @@ -0,0 +1,7 @@ +#/bin/bash + +SVG2QVG=$1 +SVG=$2 +QVG=$3 + +LD_LIBRARY_PATH=$4:$LD_LIBRARY_PATH $SVG2QVG $SVG $QVG \ No newline at end of file diff --git a/cmake/scripts/QSkinnySvg2Qvg.mac.sh b/cmake/scripts/QSkinnySvg2Qvg.mac.sh new file mode 100644 index 00000000..bd245a89 --- /dev/null +++ b/cmake/scripts/QSkinnySvg2Qvg.mac.sh @@ -0,0 +1,7 @@ +#/bin/bash + +SVG2QVG=$1 +SVG=$2 +QVG=$3 + +DYLD_LIBRARY_PATH=$4:$DYLD_LIBRARY_PATH $SVG2QVG $SVG $QVG \ No newline at end of file diff --git a/cmake/scripts/QSkinnySvg2Qvg.win.bat b/cmake/scripts/QSkinnySvg2Qvg.win.bat new file mode 100644 index 00000000..634b826a --- /dev/null +++ b/cmake/scripts/QSkinnySvg2Qvg.win.bat @@ -0,0 +1,6 @@ +set SVG2QVG=%1 +set SVG=%2 +set QVG=%3 +set PATH=%4;%PATH% + +%SVG2QVG% %SVG% %QVG% \ No newline at end of file