diff options
author | Kevin Funk <kfunk@kde.org> | 2019-02-13 12:59:44 +0100 |
---|---|---|
committer | Kevin Funk <kevin.funk@kdab.com> | 2019-05-03 13:50:55 +0000 |
commit | 775922d2315dddcd2750acf5d3a8a90d368dc000 (patch) | |
tree | 8013bea5d1939cc6de8830f7209dc0c3c964d7ef | |
parent | d0cba8947e5261dff56cb379d7462855d1eb7263 (diff) | |
download | qtsvg-775922d2315dddcd2750acf5d3a8a90d368dc000.tar.gz |
cmake: Initial CMake build system support
Task-number: QTBUG-74135
Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Done-With: Liang Qi <liang.qi@qt.io>
Change-Id: I81fdc3d06f53e78182352214ef4687924dfc6fb6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | CMakeLists.txt | 41 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/iconengines/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/iconengines/svgiconengine/CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/plugins/imageformats/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/imageformats/svg/CMakeLists.txt | 17 | ||||
-rw-r--r-- | src/svg/CMakeLists.txt | 56 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/CMakeLists.txt | 13 | ||||
-rw-r--r-- | tests/auto/qicon_svg/CMakeLists.txt | 29 | ||||
-rw-r--r-- | tests/auto/qsvgdevice/CMakeLists.txt | 18 | ||||
-rw-r--r-- | tests/auto/qsvggenerator/CMakeLists.txt | 22 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/CMakeLists.txt | 39 | ||||
-rw-r--r-- | tests/auto/qsvgrenderer/CMakeLists.txt | 26 |
15 files changed, 290 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e1a329a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required(VERSION 3.14.0) + +project(QtSvg + VERSION 5.14.0 + DESCRIPTION "Qt SVG Libraries" + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C +) + +find_package(Qt5 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets) + +# TODO: Maybe make this var part of the find script already? +set(QT_CMAKE_MODULE_PATH "${_qt_cmake_dir}/Qt5") +list(APPEND CMAKE_MODULE_PATH ${QT_CMAKE_MODULE_PATH}) +list(APPEND CMAKE_PREFIX_PATH ${QT_CMAKE_MODULE_PATH}) + +## Should this Qt be static or dynamically linked? +option(BUILD_SHARED_LIBS "Build Qt statically or dynamically" ON) +set(QT_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) + +include(QtSetup) + +include(FeatureSummary) + +add_subdirectory(src) + +if (BUILD_TESTING) + find_package(Qt5 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Test Xml) + add_subdirectory(tests) +endif() + +if (BUILD_EXAMPLES) + # TODO: Implement me + #add_subdirectory(examples) +endif() + +## Delayed actions on some of the Qt targets: +include(QtPostProcess) + +## Print a feature summary: +feature_summary(WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..acf82c0 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(svg) +add_subdirectory(plugins) diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 0000000..ca95765 --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(iconengines) +add_subdirectory(imageformats) diff --git a/src/plugins/iconengines/CMakeLists.txt b/src/plugins/iconengines/CMakeLists.txt new file mode 100644 index 0000000..6a2b160 --- /dev/null +++ b/src/plugins/iconengines/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(svgiconengine) diff --git a/src/plugins/iconengines/svgiconengine/CMakeLists.txt b/src/plugins/iconengines/svgiconengine/CMakeLists.txt new file mode 100644 index 0000000..4bbb188 --- /dev/null +++ b/src/plugins/iconengines/svgiconengine/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from svgiconengine.pro. + +##################################################################### +## qsvgicon Plugin: +##################################################################### + +add_qt_plugin(qsvgicon + TYPE iconengines + SOURCES + main.cpp + qsvgiconengine.cpp qsvgiconengine.h + PUBLIC_LIBRARIES + Qt::Svg + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + + # OTHER_FILES = "qsvgiconengine.json" "qsvgiconengine-nocompress.json" + # PLUGIN_CLASS_NAME = "QSvgIconPlugin" + # PLUGIN_EXTENDS = "svg" + # _LOADED = "qt_plugin" +) diff --git a/src/plugins/imageformats/CMakeLists.txt b/src/plugins/imageformats/CMakeLists.txt new file mode 100644 index 0000000..d0c989a --- /dev/null +++ b/src/plugins/imageformats/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(svg) diff --git a/src/plugins/imageformats/svg/CMakeLists.txt b/src/plugins/imageformats/svg/CMakeLists.txt new file mode 100644 index 0000000..cef8f5b --- /dev/null +++ b/src/plugins/imageformats/svg/CMakeLists.txt @@ -0,0 +1,17 @@ +# Generated from svg.pro. + +##################################################################### +## qsvg Plugin: +##################################################################### + +add_qt_plugin(qsvg + TYPE imageformats + SOURCES + main.cpp + qsvgiohandler.cpp qsvgiohandler.h + LIBRARIES + Qt::Svg + # PLUGIN_CLASS_NAME = "QSvgPlugin" + # PLUGIN_EXTENDS = "svg" + # _LOADED = "qt_plugin" +) diff --git a/src/svg/CMakeLists.txt b/src/svg/CMakeLists.txt new file mode 100644 index 0000000..955daee --- /dev/null +++ b/src/svg/CMakeLists.txt @@ -0,0 +1,56 @@ +# Generated from svg.pro. + +find_package(ZLIB MODULE REQUIRED) # special case + +##################################################################### +## Svg Module: +##################################################################### + +add_qt_module(Svg + SOURCES + qgraphicssvgitem.cpp qgraphicssvgitem.h + qsvgfont.cpp qsvgfont_p.h + qsvggenerator.cpp qsvggenerator.h + qsvggraphics.cpp qsvggraphics_p.h + qsvghandler.cpp qsvghandler_p.h + qsvgnode.cpp qsvgnode_p.h + qsvgrenderer.cpp qsvgrenderer.h + qsvgstructure.cpp qsvgstructure_p.h + qsvgstyle.cpp qsvgstyle_p.h + qsvgtinydocument.cpp qsvgtinydocument_p.h + qsvgwidget.cpp qsvgwidget.h + qtsvgglobal.h + DEFINES + QT_NO_USING_NAMESPACE + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + ZLIB::ZLIB + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:svg.pro:<TRUE>: +# _LOADED = "qt_module" + +## Scopes: +##################################################################### + +extend_target(Svg CONDITION TARGET Qt::Widgets + LIBRARIES + Qt::WidgetsPrivate + PUBLIC_LIBRARIES + Qt::Widgets +) + +extend_target(Svg CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386") + LINK_OPTIONS + "/BASE:0x66000000" +) + +#### Keys ignored in scope 4:.:.:svg.pro:solaris-cc_x_: +# QMAKE_CXXFLAGS_RELEASE = "--O2" +add_qt_docs( + doc/qtsvg.qdocconf +) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..0653827 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(auto) diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt new file mode 100644 index 0000000..1f8140c --- /dev/null +++ b/tests/auto/CMakeLists.txt @@ -0,0 +1,13 @@ +# Generated from auto.pro. + + +if(TARGET Qt::Widgets) + add_subdirectory(qsvgdevice) + add_subdirectory(qsvggenerator) + add_subdirectory(qsvgrenderer) + add_subdirectory(qsvgplugin) + add_subdirectory(qicon_svg) +endif() + +if(NOT cross_compile) +endif() diff --git a/tests/auto/qicon_svg/CMakeLists.txt b/tests/auto/qicon_svg/CMakeLists.txt new file mode 100644 index 0000000..d314181 --- /dev/null +++ b/tests/auto/qicon_svg/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from qicon_svg.pro. + +##################################################################### +## tst_qicon_svg Test: +##################################################################### + +add_qt_test(tst_qicon_svg + SOURCES + tst_qicon_svg.cpp + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Svg +) + +# Resources: +add_qt_resource(tst_qicon_svg "tst_qicon_svg" PREFIX "/" FILES + ./icons/heart.svg + ./icons/heart.svgz + ./icons/image.png + ./icons/rect.svg + ./icons/rect_size_100percent.svg + ./icons/trash.svg) + + +#### Keys ignored in scope 1:.:.:qicon_svg.pro:<TRUE>: +# CONFIG = "testcase" +# TESTDATA = "icons/*" diff --git a/tests/auto/qsvgdevice/CMakeLists.txt b/tests/auto/qsvgdevice/CMakeLists.txt new file mode 100644 index 0000000..87d8fc2 --- /dev/null +++ b/tests/auto/qsvgdevice/CMakeLists.txt @@ -0,0 +1,18 @@ +# Generated from qsvgdevice.pro. + +##################################################################### +## tst_qsvgdevice Test: +##################################################################### + +add_qt_test(tst_qsvgdevice + SOURCES + tst_qsvgdevice.cpp + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) + +#### Keys ignored in scope 1:.:.:qsvgdevice.pro:<TRUE>: +# CONFIG = "testcase" diff --git a/tests/auto/qsvggenerator/CMakeLists.txt b/tests/auto/qsvggenerator/CMakeLists.txt new file mode 100644 index 0000000..439d1e9 --- /dev/null +++ b/tests/auto/qsvggenerator/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from qsvggenerator.pro. + +##################################################################### +## tst_qsvggenerator Test: +##################################################################### + +add_qt_test(tst_qsvggenerator + SOURCES + tst_qsvggenerator.cpp + DEFINES + SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/./\\\" + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Svg + Qt::Widgets + Qt::Xml +) + +#### Keys ignored in scope 1:.:.:qsvggenerator.pro:<TRUE>: +# CONFIG = "testcase" diff --git a/tests/auto/qsvgplugin/CMakeLists.txt b/tests/auto/qsvgplugin/CMakeLists.txt new file mode 100644 index 0000000..e92d807 --- /dev/null +++ b/tests/auto/qsvgplugin/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from qsvgplugin.pro. + +##################################################################### +## tst_qsvgplugin Test: +##################################################################### + +add_qt_test(tst_qsvgplugin + SOURCES + tst_qsvgplugin.cpp + DEFINES + SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/./\\\" + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Svg + Qt::Widgets +) + +# Resources: +add_qt_resource(tst_qsvgplugin "resources" FILES + imageInclude.svg + imageIncludeA.svg + square.svg + square_size.svg + square_size_viewbox.svg + square_viewbox.svg + tall.svg + tall_size.svg + tall_size_viewbox.svg + tall_viewbox.svg + wide.svg + wide_size.svg + wide_size_viewbox.svg + wide_viewbox.svg) + + +#### Keys ignored in scope 1:.:.:qsvgplugin.pro:<TRUE>: +# CONFIG = "testcase" diff --git a/tests/auto/qsvgrenderer/CMakeLists.txt b/tests/auto/qsvgrenderer/CMakeLists.txt new file mode 100644 index 0000000..38932a0 --- /dev/null +++ b/tests/auto/qsvgrenderer/CMakeLists.txt @@ -0,0 +1,26 @@ +# Generated from qsvgrenderer.pro. + +##################################################################### +## tst_qsvgrenderer Test: +##################################################################### + +add_qt_test(tst_qsvgrenderer + SOURCES + tst_qsvgrenderer.cpp + DEFINES + SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/./\\\" + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Svg + Qt::Widgets +) + +# Resources: +add_qt_resource(tst_qsvgrenderer "resources" FILES + heart.svgz) + + +#### Keys ignored in scope 1:.:.:qsvgrenderer.pro:<TRUE>: +# CONFIG = "testcase" |