Warning, /graphics/digikam/core/libs/database/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 #
0002 # SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier, <caulier dot gilles at gmail dot com>
0003 # SPDX-FileCopyrightText: 2015      by Veaceslav Munteanu, <veaceslav dot munteanu90 at gmail dot com>
0004 # SPDX-FileCopyrightText: 2015      by Mohamed_Anwer, <m_dot_anwer at gmx dot com>
0005 # SPDX-FileCopyrightText: 2018      by Mario Frank,   <mario dot frank at uni minus potsdam dot de>
0006 #
0007 # SPDX-License-Identifier: BSD-3-Clause
0008 #
0009 
0010 APPLY_COMMON_POLICIES()
0011 
0012 include_directories(
0013     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Xml,INTERFACE_INCLUDE_DIRECTORIES>
0014     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Sql,INTERFACE_INCLUDE_DIRECTORIES>
0015     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Widgets,INTERFACE_INCLUDE_DIRECTORIES>
0016     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Network,INTERFACE_INCLUDE_DIRECTORIES>
0017     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Core,INTERFACE_INCLUDE_DIRECTORIES>
0018 
0019     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::Solid,INTERFACE_INCLUDE_DIRECTORIES>
0020     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::I18n,INTERFACE_INCLUDE_DIRECTORIES>
0021     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
0022     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::CoreAddons,INTERFACE_INCLUDE_DIRECTORIES>
0023     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::WidgetsAddons,INTERFACE_INCLUDE_DIRECTORIES>
0024     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::XmlGui,INTERFACE_INCLUDE_DIRECTORIES>
0025 
0026     ${CMAKE_SOURCE_DIR}/core/libs/dplugins/webservices/o2/src
0027 
0028     ${Boost_INCLUDE_DIRS}
0029 )
0030 
0031 if(ENABLE_DBUS)
0032     include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::DBus,INTERFACE_INCLUDE_DIRECTORIES>)
0033 endif()
0034 
0035 # Boost uses operator names (and, not, ...)
0036 string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
0037 
0038 ### For digikamcore target - Symbols exported with DIGIKAM_EXPORT macro ##########################
0039 
0040 set(libdatabasecore_SRCS
0041     ${CMAKE_CURRENT_SOURCE_DIR}/server/databaseserverstarter.cpp
0042     ${CMAKE_CURRENT_SOURCE_DIR}/server/databaseservererror.cpp
0043     ${CMAKE_CURRENT_SOURCE_DIR}/server/databaseserver.cpp
0044 
0045     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineconfigloader.cpp
0046     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineconfig.cpp
0047     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineactiontype.cpp
0048     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineerrorhandler.cpp
0049     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineguierrorhandler.cpp
0050     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineparameters.cpp
0051     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbenginebackend.cpp
0052     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbenginesqlquery.cpp
0053     ${CMAKE_CURRENT_SOURCE_DIR}/engine/dbengineaccess.cpp
0054 
0055     ${CMAKE_CURRENT_SOURCE_DIR}/tags/tagregion.cpp
0056 
0057     ${CMAKE_CURRENT_SOURCE_DIR}/thumbsdb/thumbsdb.cpp
0058     ${CMAKE_CURRENT_SOURCE_DIR}/thumbsdb/thumbsdbschemaupdater.cpp
0059     ${CMAKE_CURRENT_SOURCE_DIR}/thumbsdb/thumbsdbbackend.cpp
0060     ${CMAKE_CURRENT_SOURCE_DIR}/thumbsdb/thumbsdbaccess.cpp
0061 )
0062 
0063 # Used by digikamcore
0064 add_library(core_digikamdatabase_obj OBJECT ${libdatabasecore_SRCS})
0065 
0066 target_compile_definitions(core_digikamdatabase_obj
0067                            PRIVATE
0068                            digikamcore_EXPORTS
0069 )
0070 
0071 ### For digikamdatabase target - Symbols exported with DIGIKAM_DATABASE_EXPORT macro ##############
0072 
0073 set(libdatabase_SRCS
0074     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionscanner.cpp
0075     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionscanner_p.cpp
0076     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionscanner_scan.cpp
0077     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionscanner_utils.cpp
0078     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionmanager.cpp
0079     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionmanager_p.cpp
0080     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionmanager_location.cpp
0081     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionmanager_album.cpp
0082     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionlocation.cpp
0083     ${CMAKE_CURRENT_SOURCE_DIR}/collection/collectionscannerhints.cpp
0084 
0085     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredb.cpp
0086     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbsearchxml.cpp
0087     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbchecker.cpp
0088     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbcopymanager.cpp
0089     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbconstants.cpp
0090     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbtransaction.cpp
0091     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbschemaupdater.cpp
0092     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbchangesets.cpp
0093     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbthumbinfoprovider.cpp
0094     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredboperationgroup.cpp
0095     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbbackend.cpp
0096     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbwatch.cpp
0097     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredburl.cpp
0098     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbaccess.cpp
0099     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbnamefilter.cpp
0100     ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbdownloadhistory.cpp
0101 
0102     ${CMAKE_CURRENT_SOURCE_DIR}/tags/tagproperties.cpp
0103     ${CMAKE_CURRENT_SOURCE_DIR}/tags/tagscache.cpp
0104     ${CMAKE_CURRENT_SOURCE_DIR}/tags/facetags.cpp
0105     ${CMAKE_CURRENT_SOURCE_DIR}/tags/facetagseditor.cpp
0106     ${CMAKE_CURRENT_SOURCE_DIR}/tags/facetagsiface.cpp
0107 
0108     ${CMAKE_CURRENT_SOURCE_DIR}/dbjobs/dbjobsthread.cpp
0109     ${CMAKE_CURRENT_SOURCE_DIR}/dbjobs/dbjob.cpp
0110     ${CMAKE_CURRENT_SOURCE_DIR}/dbjobs/dbjobinfo.cpp
0111     ${CMAKE_CURRENT_SOURCE_DIR}/dbjobs/dbjobsmanager.cpp
0112     ${CMAKE_CURRENT_SOURCE_DIR}/dbjobs/duplicatesprogressobserver.cpp
0113 
0114     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo.cpp
0115     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_p.cpp
0116     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_containers.cpp
0117     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_geolocation.cpp
0118     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_groups.cpp
0119     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_history.cpp
0120     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_labels.cpp
0121     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_properties.cpp
0122     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_similarity.cpp
0123     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_tags.cpp
0124     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfo_thumbnail.cpp
0125     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfodata.cpp
0126     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfolist.cpp
0127     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/iteminfocache.cpp
0128     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/itemcomments.cpp
0129     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/itemcopyright.cpp
0130     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/itemposition.cpp
0131     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/itemtagpair.cpp
0132     ${CMAKE_CURRENT_SOURCE_DIR}/item/containers/itemextendedproperties.cpp
0133 
0134     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlister.cpp
0135     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlister_palbum.cpp
0136     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlister_talbum.cpp
0137     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlister_salbum.cpp
0138     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlisterrecord.cpp
0139     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemlisterreceiver.cpp
0140     ${CMAKE_CURRENT_SOURCE_DIR}/item/lister/itemattributeswatch.cpp
0141 
0142     ${CMAKE_CURRENT_SOURCE_DIR}/item/query/itemquerybuilder.cpp
0143     ${CMAKE_CURRENT_SOURCE_DIR}/item/query/itemquerybuilder_p.cpp
0144     ${CMAKE_CURRENT_SOURCE_DIR}/item/query/itemqueryposthooks.cpp
0145     ${CMAKE_CURRENT_SOURCE_DIR}/item/query/fieldquerybuilder.cpp
0146 
0147     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner.cpp
0148     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_p.cpp
0149     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_database.cpp
0150     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_file.cpp
0151     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_photo.cpp
0152     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_video.cpp
0153     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_history.cpp
0154     ${CMAKE_CURRENT_SOURCE_DIR}/item/scanner/itemscanner_baloo.cpp
0155 
0156     ${CMAKE_CURRENT_SOURCE_DIR}/history/itemhistorygraph.cpp
0157     ${CMAKE_CURRENT_SOURCE_DIR}/history/itemhistorygraphmodel.cpp
0158 
0159     ${CMAKE_CURRENT_SOURCE_DIR}/similaritydb/similaritydb.cpp
0160     ${CMAKE_CURRENT_SOURCE_DIR}/similaritydb/similaritydbschemaupdater.cpp
0161     ${CMAKE_CURRENT_SOURCE_DIR}/similaritydb/similaritydbbackend.cpp
0162     ${CMAKE_CURRENT_SOURCE_DIR}/similaritydb/similaritydbaccess.cpp
0163 )
0164 
0165 if(ENABLE_DBUS)
0166     set(libdatabase_SRCS
0167         ${libdatabase_SRCS}
0168         ${CMAKE_CURRENT_SOURCE_DIR}/coredb/coredbwatchadaptor.cpp
0169        )
0170 endif()
0171 
0172 # enable exceptions
0173 kde_source_files_enable_exceptions(${CMAKE_CURRENT_SOURCE_DIR}/history/itemhistorygraph.cpp
0174                                    ${CMAKE_CURRENT_SOURCE_DIR}/history/itemhistorygraphmodel.cpp
0175 )
0176 
0177 set(libdatabasemodels_SRCS
0178     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemfiltermodel.cpp
0179     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemfiltermodel_p.cpp
0180     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemfiltermodelthreads.cpp
0181     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemfiltersettings.cpp
0182     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemversionsmodel.cpp
0183     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemthumbnailmodel.cpp
0184     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemsortcollator.cpp
0185     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemsortsettings.cpp
0186     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemlistmodel.cpp
0187     ${CMAKE_CURRENT_SOURCE_DIR}/models/itemmodel.cpp
0188 )
0189 
0190 set(libhaar_SRCS
0191     ${CMAKE_CURRENT_SOURCE_DIR}/haar/haar.cpp
0192     ${CMAKE_CURRENT_SOURCE_DIR}/haar/haariface.cpp
0193     ${CMAKE_CURRENT_SOURCE_DIR}/haar/haariface_p.cpp
0194 )
0195 
0196 # Used by digikamdatabase
0197 add_library(digikamdatabase_obj OBJECT ${libdatabase_SRCS}
0198                                        ${libdatabasemodels_SRCS}
0199                                        ${libhaar_SRCS}
0200 )
0201 
0202 target_compile_definitions(digikamdatabase_obj
0203                            PRIVATE
0204                            digikamdatabase_EXPORTS
0205 )
0206 
0207 ### For digikamgui target - Symbols exported with DIGIKAM_EXPORT macro ############################
0208 
0209 set(libdatabasemain_SRCS
0210     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/dbstatdlg.cpp
0211     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/dbsettingswidget.cpp
0212     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/dbmigrationdlg.cpp
0213     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/mysqlupgradebinary.cpp
0214     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/mysqlserverbinary.cpp
0215     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/mysqladminbinary.cpp
0216     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/mysqlinitbinary.cpp
0217     ${CMAKE_CURRENT_SOURCE_DIR}/utils/widgets/searchtextbardb.cpp
0218 
0219     ${CMAKE_CURRENT_SOURCE_DIR}/utils/ifaces/dbinfoiface.cpp
0220     ${CMAKE_CURRENT_SOURCE_DIR}/utils/ifaces/syncjob.cpp
0221     ${CMAKE_CURRENT_SOURCE_DIR}/utils/ifaces/dio.cpp
0222     ${CMAKE_CURRENT_SOURCE_DIR}/utils/ifaces/diofinders.cpp
0223 
0224     ${CMAKE_CURRENT_SOURCE_DIR}/utils/scan/scancontroller.cpp
0225     ${CMAKE_CURRENT_SOURCE_DIR}/utils/scan/scancontroller_p.cpp
0226     ${CMAKE_CURRENT_SOURCE_DIR}/utils/scan/scancontroller_start.cpp
0227     ${CMAKE_CURRENT_SOURCE_DIR}/utils/scan/scancontroller_progress.cpp
0228     ${CMAKE_CURRENT_SOURCE_DIR}/utils/scan/scancontroller_stop.cpp
0229 )
0230 
0231 if(ENABLE_GEOLOCATION)
0232     set(libdatabasemain_SRCS
0233         ${libdatabasemain_SRCS}
0234         ${CMAKE_CURRENT_SOURCE_DIR}/utils/ifaces/itemgps.cpp
0235        )
0236 endif()
0237 
0238 # Used by digikamgui
0239 add_library(gui_digikamdatabasemain_obj OBJECT ${libdatabasemain_SRCS})
0240 
0241 target_compile_definitions(gui_digikamdatabasemain_obj
0242                            PRIVATE
0243                            digikamgui_EXPORTS
0244 )
0245