qskinny/tools/svg2qvg/CMakeLists.txt

49 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
############################################################################
set(target svg2qvg)
qsk_add_executable(${target} main.cpp)
if(BUILD_SVG2QVG_STANDALONE)
# NOTE: when building standalone some moc files are transitively required.
# These files are being created by the qskinny build, hence we add an explicit dependency.
# E.g. main.cpp -> #include <QskGraphic.cpp> -> #include "moc_QskGraphic.cpp"
add_dependencies(${target} qskinny)
# TODO hack for standalone qvg2svg
get_target_property(qskinny_AUTOGEN_DIR qskinny AUTOGEN_BUILD_DIR)
if (${qskinny_AUTOGEN_DIR} STREQUAL "")
message(FATAL_ERROR "Directory '${qskinny_AUTOGEN_DIR}' doesn't exist")
endif()
# TODO fix multi configuration generators
if(CMAKE_GENERATOR MATCHES "Visual Studio.*")
add_definitions("/I${qskinny_AUTOGEN_DIR}/include_\$(Configuration)")
2023-12-21 16:32:49 +01:00
elseif(CMAKE_GENERATOR MATCHES "Ninja Multi.*")
target_include_directories(${target}
PRIVATE
${qskinny_AUTOGEN_DIR}/include_$<CONFIG>)
2023-04-05 17:47:15 +02:00
else()
target_include_directories(${target} PRIVATE ${qskinny_AUTOGEN_DIR}/include)
endif()
target_include_directories(${target}
PRIVATE
2023-12-04 18:52:41 +01:00
${QSK_SOURCE_DIR}/src/common
${QSK_SOURCE_DIR}/src/graphic)
2023-04-05 17:47:15 +02:00
target_compile_definitions(${target} PRIVATE QSK_STANDALONE)
target_link_libraries(${target} PRIVATE Qt::Gui Qt::GuiPrivate)
else()
target_link_libraries(${target} PRIVATE qskinny)
endif()
target_link_libraries(${target} PRIVATE Qt::Svg)
set_target_properties(${target} PROPERTIES FOLDER tools)
install(TARGETS ${target})