diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-05-17 19:13:24 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-05-28 12:50:42 +0000 |
commit | 9443239c2c01810189d63854393d43c493201c66 (patch) | |
tree | 017d1c7f31f12dfd420c064f3032b408e17a342c /src | |
parent | 9a4a2dd5189e1659bce46eacef513b0c5680bb1e (diff) |
Initial CMake Port
Port 90% of imageformats to be built with CMake.
Missing support for mng plugin and documentation.
Change-Id: I1d7e4b93c6f8446468f00dbf0663a6a4ec8c9774
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src')
20 files changed, 573 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..8974e6b --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,3 @@ +# Generated from src.pro. + +add_subdirectory(plugins) diff --git a/src/imageformats/configure.cmake b/src/imageformats/configure.cmake new file mode 100644 index 0000000..ca7e753 --- /dev/null +++ b/src/imageformats/configure.cmake @@ -0,0 +1,60 @@ + + +#### Inputs + +# input tiff +set(INPUT_tiff "undefined" CACHE STRING "") +set_property(CACHE INPUT_tiff PROPERTY STRINGS undefined no qt system) + +# input webp +set(INPUT_webp "undefined" CACHE STRING "") +set_property(CACHE INPUT_webp PROPERTY STRINGS undefined no qt system) + + + +#### Libraries + +qt_find_package(WrapJasper PROVIDED_TARGETS WrapJasper::WrapJasper) +qt_find_package(TIFF PROVIDED_TARGETS TIFF::TIFF) +qt_find_package(WrapWebP PROVIDED_TARGETS WrapWebP::WrapWebP) + + +#### Tests + + + +#### Features + +qt_feature("jasper" PRIVATE + LABEL "JasPer" + CONDITION QT_FEATURE_imageformatplugin AND WrapJasper_FOUND + DISABLE INPUT_jasper STREQUAL 'no' +) +qt_feature_definition("jasper" "QT_NO_IMAGEFORMAT_JASPER" NEGATE) +qt_feature("mng" PRIVATE + LABEL "MNG" + CONDITION libs.mng OR FIXME + DISABLE INPUT_mng STREQUAL 'no' +) +qt_feature("tiff" PRIVATE + LABEL "TIFF" + CONDITION QT_FEATURE_imageformatplugin + DISABLE INPUT_tiff STREQUAL 'no' +) +qt_feature("system_tiff" PRIVATE + LABEL " Using system libtiff" + CONDITION QT_FEATURE_tiff AND TIFF_FOUND + ENABLE INPUT_tiff STREQUAL 'system' + DISABLE INPUT_tiff STREQUAL 'qt' +) +qt_feature("webp" PRIVATE + LABEL "WEBP" + CONDITION QT_FEATURE_imageformatplugin + DISABLE INPUT_webp STREQUAL 'no' +) +qt_feature("system_webp" PRIVATE + LABEL " Using system libwebp" + CONDITION QT_FEATURE_webp AND WrapWebP_FOUND + ENABLE INPUT_webp STREQUAL 'system' + DISABLE INPUT_webp STREQUAL 'qt' +) diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 0000000..c1efdbc --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1,3 @@ +# Generated from plugins.pro. + +add_subdirectory(imageformats) diff --git a/src/plugins/imageformats/.prev_CMakeLists.txt b/src/plugins/imageformats/.prev_CMakeLists.txt new file mode 100644 index 0000000..e401b98 --- /dev/null +++ b/src/plugins/imageformats/.prev_CMakeLists.txt @@ -0,0 +1,41 @@ +# Generated from imageformats.pro. + +add_subdirectory(tga) +add_subdirectory(wbmp) + +if(QT_FEATURE_tiff) + add_subdirectory(tiff) +endif() + +if(QT_FEATURE_webp) + add_subdirectory(webp) +endif() + +if(APPLE) + add_subdirectory(macheif) +endif() + +if(QT_FEATURE_regularexpression) + add_subdirectory(icns) +endif() + +if(QT_FEATURE_mng) + add_subdirectory(mng) +endif() + +if(QT_FEATURE_jasper) + add_subdirectory(jp2) +endif() + +else() + + if(APPLE) + add_subdirectory(macjp2) + endif() +endif() + +if(WINRT) + ### remove_subdirectory("tiff") + ### remove_subdirectory("tga") + ### remove_subdirectory("webp") +endif() diff --git a/src/plugins/imageformats/CMakeLists.txt b/src/plugins/imageformats/CMakeLists.txt new file mode 100644 index 0000000..993925b --- /dev/null +++ b/src/plugins/imageformats/CMakeLists.txt @@ -0,0 +1,50 @@ +# Generated from imageformats.pro. + +# special case begin +qt_feature_module_begin( + NO_MODULE + PUBLIC_FILE "qtimageformats-config.h" + PRIVATE_FILE "qtimageformats-config_p.h" +) +include(../../imageformats/configure.cmake) +qt_feature_module_end(NO_MODULE) +# special case end + +add_subdirectory(tga) +add_subdirectory(wbmp) + +if(QT_FEATURE_tiff) + add_subdirectory(tiff) +endif() + +if(QT_FEATURE_webp) + add_subdirectory(webp) +endif() + +if(APPLE) + add_subdirectory(macheif) +endif() + +if(QT_FEATURE_regularexpression) + add_subdirectory(icns) +endif() + +if(QT_FEATURE_mng AND OFF) # special case TODO: FiXME + add_subdirectory(mng) +endif() + +if(QT_FEATURE_jasper) + add_subdirectory(jp2) +# endif() special case: remove +else() + + if(APPLE) + add_subdirectory(macjp2) + endif() +endif() + +if(WINRT) + ### remove_subdirectory("tiff") + ### remove_subdirectory("tga") + ### remove_subdirectory("webp") +endif() diff --git a/src/plugins/imageformats/icns/.prev_CMakeLists.txt b/src/plugins/imageformats/icns/.prev_CMakeLists.txt new file mode 100644 index 0000000..e3e4962 --- /dev/null +++ b/src/plugins/imageformats/icns/.prev_CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from icns.pro. + +##################################################################### +## qicns Plugin: +##################################################################### + +add_qt_plugin(qicns + TYPE imageformats + SOURCES + main.cpp + qicnshandler.cpp qicnshandler_p.h + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII +) + +#### Keys ignored in scope 1:.:.:icns.pro:<TRUE>: +# OTHER_FILES = "icns.json" +# PLUGIN_CLASS_NAME = "QICNSPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/icns/CMakeLists.txt b/src/plugins/imageformats/icns/CMakeLists.txt new file mode 100644 index 0000000..55f07f2 --- /dev/null +++ b/src/plugins/imageformats/icns/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from icns.pro. + +##################################################################### +## qicns Plugin: +##################################################################### + +add_qt_plugin(qicns + TYPE imageformats + SOURCES + main.cpp + qicnshandler.cpp qicnshandler_p.h + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES # special case + Qt::Gui # special case +) + +#### Keys ignored in scope 1:.:.:icns.pro:<TRUE>: +# OTHER_FILES = "icns.json" +# PLUGIN_CLASS_NAME = "QICNSPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/jp2/CMakeLists.txt b/src/plugins/imageformats/jp2/CMakeLists.txt new file mode 100644 index 0000000..a4594e4 --- /dev/null +++ b/src/plugins/imageformats/jp2/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from jp2.pro. + +##################################################################### +## qjp2 Plugin: +##################################################################### + +add_qt_plugin(qjp2 + TYPE imageformats + SOURCES + main.cpp + qjp2handler.cpp qjp2handler_p.h + LIBRARIES + WrapJasper::WrapJasper + Qt::Gui # special case +) + +#### Keys ignored in scope 1:.:.:jp2.pro:<TRUE>: +# OTHER_FILES = "jp2.json" +# PLUGIN_CLASS_NAME = "QJp2Plugin" +# QT_FOR_CONFIG = "imageformats-private" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/macheif/.prev_CMakeLists.txt b/src/plugins/imageformats/macheif/.prev_CMakeLists.txt new file mode 100644 index 0000000..5d1b0b7 --- /dev/null +++ b/src/plugins/imageformats/macheif/.prev_CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from macheif.pro. + +##################################################################### +## qmacheif Plugin: +##################################################################### + +add_qt_plugin(qmacheif + TYPE imageformats + SOURCES + ../shared/qiiofhelpers.cpp ../shared/qiiofhelpers_p.h + main.cpp + qmacheifhandler.cpp qmacheifhandler.h + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + ${FWCoreFoundation} + ${FWCoreGraphics} + ${FWImageIO} + Qt::Core + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:macheif.pro:<TRUE>: +# OTHER_FILES = "macheif.json" +# PLUGIN_CLASS_NAME = "QMacHeifPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/macheif/CMakeLists.txt b/src/plugins/imageformats/macheif/CMakeLists.txt new file mode 100644 index 0000000..7043c73 --- /dev/null +++ b/src/plugins/imageformats/macheif/CMakeLists.txt @@ -0,0 +1,35 @@ +# Generated from macheif.pro. + +##################################################################### +## qmacheif Plugin: +##################################################################### + +# special case begin +find_library(FWCoreFoundation CoreFoundation) +find_library(FWCoreGraphics CoreGraphics) +find_library(FWImageIO ImageIO) +# special case end + +add_qt_plugin(qmacheif + TYPE imageformats + SOURCES + ../shared/qiiofhelpers.cpp ../shared/qiiofhelpers_p.h + main.cpp + qmacheifhandler.cpp qmacheifhandler.h + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + ${FWCoreFoundation} + ${FWCoreGraphics} + ${FWImageIO} + Qt::Core + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:macheif.pro:<TRUE>: +# OTHER_FILES = "macheif.json" +# PLUGIN_CLASS_NAME = "QMacHeifPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/macjp2/CMakeLists.txt b/src/plugins/imageformats/macjp2/CMakeLists.txt new file mode 100644 index 0000000..ec4c739 --- /dev/null +++ b/src/plugins/imageformats/macjp2/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from macjp2.pro. + +##################################################################### +## qmacjp2 Plugin: +##################################################################### + +add_qt_plugin(qmacjp2 + TYPE imageformats + SOURCES + ../shared/qiiofhelpers.cpp ../shared/qiiofhelpers_p.h + main.cpp + qmacjp2handler.cpp qmacjp2handler.h + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + ${FWCoreFoundation} + ${FWCoreGraphics} + ${FWImageIO} + Qt::Core + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:macjp2.pro:<TRUE>: +# OTHER_FILES = "macjp2.json" +# PLUGIN_CLASS_NAME = "QMacJp2Plugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/mng/CMakeLists.txt b/src/plugins/imageformats/mng/CMakeLists.txt new file mode 100644 index 0000000..dfd28ac --- /dev/null +++ b/src/plugins/imageformats/mng/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from mng.pro. + +##################################################################### +## qmng Plugin: +##################################################################### + +add_qt_plugin(qmng + TYPE imageformats + SOURCES + main.cpp + qmnghandler.cpp qmnghandler_p.h +) + +#### Keys ignored in scope 1:.:.:mng.pro:<TRUE>: +# OTHER_FILES = "mng.json" +# PLUGIN_CLASS_NAME = "QMngPlugin" +# _LOADED = "qt_plugin" + +## Scopes: +##################################################################### + +extend_target(qmng CONDITION MSVC + PUBLIC_LIBRARIES + libmng.lib +) + +extend_target(qmng CONDITION NOT MSVC + PUBLIC_LIBRARIES + mng +) diff --git a/src/plugins/imageformats/tga/.prev_CMakeLists.txt b/src/plugins/imageformats/tga/.prev_CMakeLists.txt new file mode 100644 index 0000000..a78ed83 --- /dev/null +++ b/src/plugins/imageformats/tga/.prev_CMakeLists.txt @@ -0,0 +1,18 @@ +# Generated from tga.pro. + +##################################################################### +## qtga Plugin: +##################################################################### + +add_qt_plugin(qtga + TYPE imageformats + SOURCES + main.cpp + qtgafile.cpp qtgafile.h + qtgahandler.cpp qtgahandler.h +) + +#### Keys ignored in scope 1:.:.:tga.pro:<TRUE>: +# OTHER_FILES = "tga.json" +# PLUGIN_CLASS_NAME = "QTgaPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/tga/CMakeLists.txt b/src/plugins/imageformats/tga/CMakeLists.txt new file mode 100644 index 0000000..03b8e20 --- /dev/null +++ b/src/plugins/imageformats/tga/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from tga.pro. + +##################################################################### +## qtga Plugin: +##################################################################### + +add_qt_plugin(qtga + TYPE imageformats + SOURCES + main.cpp + qtgafile.cpp qtgafile.h + qtgahandler.cpp qtgahandler.h + LIBRARIES # special case + Qt::Gui # special case + +) + +#### Keys ignored in scope 1:.:.:tga.pro:<TRUE>: +# OTHER_FILES = "tga.json" +# PLUGIN_CLASS_NAME = "QTgaPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/tiff/.prev_CMakeLists.txt b/src/plugins/imageformats/tiff/.prev_CMakeLists.txt new file mode 100644 index 0000000..e49352d --- /dev/null +++ b/src/plugins/imageformats/tiff/.prev_CMakeLists.txt @@ -0,0 +1,85 @@ +# Generated from tiff.pro. + +##################################################################### +## qtiff Plugin: +##################################################################### + +add_qt_plugin(qtiff + TYPE imageformats + SOURCES + main.cpp + qtiffhandler.cpp qtiffhandler_p.h +) + +#### Keys ignored in scope 1:.:.:tiff.pro:<TRUE>: +# OTHER_FILES = "tiff.json" +# PLUGIN_CLASS_NAME = "QTiffPlugin" +# _LOADED = "qt_plugin" + +## Scopes: +##################################################################### + +extend_target(qtiff CONDITION config_libtiff AND (UNIX OR mingw) + PUBLIC_LIBRARIES + TIFF::TIFF +) + +extend_target(qtiff CONDITION WIN32 AND config_libtiff AND NOT mingw + PUBLIC_LIBRARIES + libtiff.lib +) + +extend_target(qtiff CONDITION NOT config_libtiff + SOURCES + ../../../3rdparty/libtiff/libtiff/tif_aux.c + ../../../3rdparty/libtiff/libtiff/tif_close.c + ../../../3rdparty/libtiff/libtiff/tif_codec.c + ../../../3rdparty/libtiff/libtiff/tif_color.c + ../../../3rdparty/libtiff/libtiff/tif_compress.c + ../../../3rdparty/libtiff/libtiff/tif_dir.c + ../../../3rdparty/libtiff/libtiff/tif_dirinfo.c + ../../../3rdparty/libtiff/libtiff/tif_dirread.c + ../../../3rdparty/libtiff/libtiff/tif_dirwrite.c + ../../../3rdparty/libtiff/libtiff/tif_dumpmode.c + ../../../3rdparty/libtiff/libtiff/tif_error.c + ../../../3rdparty/libtiff/libtiff/tif_extension.c + ../../../3rdparty/libtiff/libtiff/tif_fax3.c + ../../../3rdparty/libtiff/libtiff/tif_fax3sm.c + ../../../3rdparty/libtiff/libtiff/tif_flush.c + ../../../3rdparty/libtiff/libtiff/tif_getimage.c + ../../../3rdparty/libtiff/libtiff/tif_luv.c + ../../../3rdparty/libtiff/libtiff/tif_lzw.c + ../../../3rdparty/libtiff/libtiff/tif_next.c + ../../../3rdparty/libtiff/libtiff/tif_open.c + ../../../3rdparty/libtiff/libtiff/tif_packbits.c + ../../../3rdparty/libtiff/libtiff/tif_pixarlog.c + ../../../3rdparty/libtiff/libtiff/tif_predict.c + ../../../3rdparty/libtiff/libtiff/tif_print.c + ../../../3rdparty/libtiff/libtiff/tif_read.c + ../../../3rdparty/libtiff/libtiff/tif_strip.c + ../../../3rdparty/libtiff/libtiff/tif_swab.c + ../../../3rdparty/libtiff/libtiff/tif_thunder.c + ../../../3rdparty/libtiff/libtiff/tif_tile.c + ../../../3rdparty/libtiff/libtiff/tif_version.c + ../../../3rdparty/libtiff/libtiff/tif_warning.c + ../../../3rdparty/libtiff/libtiff/tif_write.c + ../../../3rdparty/libtiff/libtiff/tif_zip.c + ../../../3rdparty/libtiff/port/snprintf.c + INCLUDE_DIRECTORIES + ../../../3rdparty/libtiff/libtiff +) + +extend_target(qtiff CONDITION WIN32 AND NOT config_libtiff + SOURCES + ../../../3rdparty/libtiff/libtiff/tif_win32.c +) + +extend_target(qtiff CONDITION UNIX AND NOT config_libtiff + SOURCES + ../../../3rdparty/libtiff/libtiff/tif_unix.c +) + +extend_target(qtiff CONDITION ANDROID AND NOT config_libtiff + SOURCES + ../../../3rdparty/libtiff/port/lfind.c +) diff --git a/src/plugins/imageformats/tiff/CMakeLists.txt b/src/plugins/imageformats/tiff/CMakeLists.txt new file mode 100644 index 0000000..1e5b555 --- /dev/null +++ b/src/plugins/imageformats/tiff/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from tiff.pro. + +##################################################################### +## qtiff Plugin: +##################################################################### + +qt_find_package(ZLIB PROVIDED_TARGETS ZLIB::ZLIB) # special case + +add_qt_plugin(qtiff + TYPE imageformats + SOURCES + main.cpp + qtiffhandler.cpp qtiffhandler_p.h + LIBRARIES # special case + ZLIB::ZLIB # special case + PUBLIC_LIBRARIES # special case + Qt::Gui # special case + TIFF::TIFF # special case +) + +#### Keys ignored in scope 1:.:.:tiff.pro:<TRUE>: +# OTHER_FILES = "tiff.json" +# PLUGIN_CLASS_NAME = "QTiffPlugin" +# _LOADED = "qt_plugin" + +## Scopes: +##################################################################### + +# special case: remove 3rdparty code diff --git a/src/plugins/imageformats/wbmp/.prev_CMakeLists.txt b/src/plugins/imageformats/wbmp/.prev_CMakeLists.txt new file mode 100644 index 0000000..925cdec --- /dev/null +++ b/src/plugins/imageformats/wbmp/.prev_CMakeLists.txt @@ -0,0 +1,17 @@ +# Generated from wbmp.pro. + +##################################################################### +## qwbmp Plugin: +##################################################################### + +add_qt_plugin(qwbmp + TYPE imageformats + SOURCES + main.cpp + qwbmphandler.cpp qwbmphandler_p.h +) + +#### Keys ignored in scope 1:.:.:wbmp.pro:<TRUE>: +# OTHER_FILES = "wbmp.json" +# PLUGIN_CLASS_NAME = "QWbmpPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/wbmp/CMakeLists.txt b/src/plugins/imageformats/wbmp/CMakeLists.txt new file mode 100644 index 0000000..12d7501 --- /dev/null +++ b/src/plugins/imageformats/wbmp/CMakeLists.txt @@ -0,0 +1,19 @@ +# Generated from wbmp.pro. + +##################################################################### +## qwbmp Plugin: +##################################################################### + +add_qt_plugin(qwbmp + TYPE imageformats + SOURCES + main.cpp + qwbmphandler.cpp qwbmphandler_p.h + LIBRARIES # special case + Qt::Gui # special case +) + +#### Keys ignored in scope 1:.:.:wbmp.pro:<TRUE>: +# OTHER_FILES = "wbmp.json" +# PLUGIN_CLASS_NAME = "QWbmpPlugin" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/webp/.prev_CMakeLists.txt b/src/plugins/imageformats/webp/.prev_CMakeLists.txt new file mode 100644 index 0000000..eccbe8e --- /dev/null +++ b/src/plugins/imageformats/webp/.prev_CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from webp.pro. + +##################################################################### +## qwebp Plugin: +##################################################################### + +add_qt_plugin(qwebp + TYPE imageformats + SOURCES + main.cpp + qwebphandler.cpp qwebphandler_p.h + PUBLIC_LIBRARIES + WrapWebP::WrapWebP +) + +#### Keys ignored in scope 1:.:.:webp.pro:<TRUE>: +# OTHER_FILES = "webp.json" +# PLUGIN_CLASS_NAME = "QWebpPlugin" +# QT_FOR_CONFIG = "imageformats-private" +# _LOADED = "qt_plugin" diff --git a/src/plugins/imageformats/webp/CMakeLists.txt b/src/plugins/imageformats/webp/CMakeLists.txt new file mode 100644 index 0000000..2f81f42 --- /dev/null +++ b/src/plugins/imageformats/webp/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from webp.pro. + +##################################################################### +## qwebp Plugin: +##################################################################### + +add_qt_plugin(qwebp + TYPE imageformats + SOURCES + main.cpp + qwebphandler.cpp qwebphandler_p.h + PUBLIC_LIBRARIES + WrapWebP::WrapWebP + Qt::Gui # special case +) + +#### Keys ignored in scope 1:.:.:webp.pro:<TRUE>: +# OTHER_FILES = "webp.json" +# PLUGIN_CLASS_NAME = "QWebpPlugin" +# QT_FOR_CONFIG = "imageformats-private" +# _LOADED = "qt_plugin" |