Warning, /maui/mauikit-imagetools/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020 Camilo Higuita <milo.h@aol.com>
0002 #
0003 # SPDX-License-Identifier: BSD-2-Clause
0004
0005 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY)
0006
0007 if(NOT ANDROID)
0008 add_subdirectory(code/modules/image2text)
0009 add_subdirectory(code/modules/opencv)
0010 endif()
0011
0012 ##for qt6 split the library from the plugin
0013 # if (QT_MAJOR_VERSION STREQUAL "6")
0014 # add_library(MauiKitImageTools${MAUI_MAJOR_VERSION})
0015 # endif()
0016
0017 ecm_add_qml_module(MauiKitImageTools${MAUI_MAJOR_VERSION}
0018 VERSION 1.0
0019 URI "org.mauikit.imagetools"
0020 CLASS_NAME ImageToolsPlugin
0021 NO_PLUGIN_OPTIONAL
0022 NO_GENERATE_PLUGIN_SOURCE)
0023
0024 ## file headers to install
0025 set(headers
0026 code/exiv2extractor.h
0027 code/geolocation/city.h
0028 code/geolocation/cities.h
0029 code/moduleinfo.h
0030 code/textscanner.h)
0031
0032 set(pluginData
0033 data/assets.qrc
0034 data/cities.db)
0035
0036 ecm_target_qml_sources(MauiKitImageTools${MAUI_MAJOR_VERSION} SOURCES
0037 controls.${QT_MAJOR_VERSION}/ImageViewer.qml
0038 controls.${QT_MAJOR_VERSION}/ImageInfoDialog.qml
0039 controls.${QT_MAJOR_VERSION}/ImageEditor.qml)
0040
0041 ecm_target_qml_sources(MauiKitImageTools${MAUI_MAJOR_VERSION} PATH private SOURCES
0042 controls.${QT_MAJOR_VERSION}/private/ColourBar.qml
0043 controls.${QT_MAJOR_VERSION}/private/Ruler.qml
0044 controls.${QT_MAJOR_VERSION}/private/TransformationBar.qml)
0045
0046 if (QT_MAJOR_VERSION STREQUAL "5")
0047 if(QUICK_COMPILER)
0048 qtquick_compiler_add_resources(imagetools_QML_QRC resources.qrc)
0049 else()
0050 qt5_add_resources(imagetools_QML_QRC resources.qrc)
0051 endif()
0052 endif()
0053
0054 target_sources(MauiKitImageTools${MAUI_MAJOR_VERSION}
0055 PRIVATE
0056
0057 code/imagetools_plugin.cpp
0058 code/imagetools_plugin.h
0059
0060 code/picinfomodel.cpp
0061 code/picinfomodel.h
0062
0063 code/imagemetadata.cpp
0064 code/imagemetadata.h
0065
0066 code/exiv2extractor.cpp
0067 code/exiv2extractor.h
0068
0069 code/geolocation/city.cpp
0070 code/geolocation/city.h
0071
0072 code/geolocation/cities.cpp
0073 code/geolocation/cities.h
0074
0075 code/geolocation/citiesdb.cpp
0076 code/geolocation/citiesdb.h
0077
0078 code/geolocation/kdtree.cpp
0079 code/geolocation/kdtree.hpp
0080
0081 code/moduleinfo.cpp
0082
0083 code/textscanner.cpp
0084 code/textscanner.h
0085 ${pluginData})
0086
0087 add_library(MauiKit${MAUI_MAJOR_VERSION}::ImageTools ALIAS MauiKitImageTools${MAUI_MAJOR_VERSION})
0088
0089 if (QT_MAJOR_VERSION STREQUAL "5")
0090 if(QUICK_COMPILER)
0091 target_sources(MauiKitImageTools${MAUI_MAJOR_VERSION} PRIVATE ${imagetools_QML_QRC})
0092
0093 add_definitions(-DQUICK_COMPILER)
0094 target_compile_definitions(MauiKitImageTools${MAUI_MAJOR_VERSION} PUBLIC QUICK_COMPILER)
0095 endif()
0096 endif()
0097
0098 generate_export_header(MauiKitImageTools${MAUI_MAJOR_VERSION} BASE_NAME ImageTools)
0099 set_target_properties(MauiKitImageTools${MAUI_MAJOR_VERSION} PROPERTIES
0100 VERSION ${PROJECT_VERSION}
0101 SOVERSION ${PROJECT_VERSION_MAJOR}
0102 EXPORT_NAME "ImageTools")
0103
0104 target_include_directories(MauiKitImageTools${MAUI_MAJOR_VERSION}
0105 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/ImageTools>")
0106
0107 target_include_directories(MauiKitImageTools${MAUI_MAJOR_VERSION} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR};>")
0108
0109 if(ANDROID)
0110 target_link_libraries(MauiKitImageTools${MAUI_MAJOR_VERSION}
0111 PRIVATE
0112 Qt${QT_MAJOR_VERSION}::AndroidExtras)
0113 else()
0114 target_link_libraries(MauiKitImageTools${MAUI_MAJOR_VERSION}
0115 PRIVATE
0116 Image2Text)
0117
0118 ecm_target_qml_sources(MauiKitImageTools${MAUI_MAJOR_VERSION} PATH image2text SOURCES
0119 controls.${QT_MAJOR_VERSION}/image2text/OCRPage.qml)
0120 endif()
0121
0122 target_link_libraries(MauiKitImageTools${MAUI_MAJOR_VERSION}
0123 PRIVATE
0124 Qt${QT_MAJOR_VERSION}::Core
0125 Qt${QT_MAJOR_VERSION}::Quick
0126 Qt${QT_MAJOR_VERSION}::Qml
0127 Qt${QT_MAJOR_VERSION}::Sql
0128 LibExiv2::LibExiv2
0129 Qt${QT_MAJOR_VERSION}::Positioning
0130 KF${KF_MAJOR_VERSION}::CoreAddons
0131 KF${KF_MAJOR_VERSION}::I18n
0132 MauiKit${MAUI_MAJOR_VERSION})
0133
0134
0135 if (QT_MAJOR_VERSION STREQUAL "6")
0136 target_link_libraries(MauiKitImageTools${MAUI_MAJOR_VERSION}
0137 PRIVATE
0138 Qt6::Core5Compat)
0139 endif()
0140
0141 ecm_finalize_qml_module(MauiKitImageTools${MAUI_MAJOR_VERSION} DESTINATION ${KDE_INSTALL_QMLDIR})
0142
0143 install(TARGETS MauiKitImageTools${MAUI_MAJOR_VERSION} EXPORT MauiKitImageTools${MAUI_MAJOR_VERSION}Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0144
0145 install(FILES
0146 ${headers}
0147 ${CMAKE_CURRENT_BINARY_DIR}/imagetools_export.h
0148 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/ImageTools
0149 COMPONENT Devel)
0150
0151 if(ANDROID)
0152 install (FILES data/cities.db DESTINATION ${KDE_INSTALL_QMLDIR}/org/mauikit/imagetools)
0153 else()
0154 install (FILES data/cities.db DESTINATION ${KDE_INSTALL_DATADIR}/org/mauikit/imagetools)
0155 endif()
0156