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