Warning, /graphics/digikam/core/app/DigikamDatabaseTarget.cmake 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 # digiKam database shared library target
0010 #
0011 
0012 add_library(digikamdatabase SHARED $<TARGET_OBJECTS:digikamdatabase_obj>)
0013 
0014 set_target_properties(digikamdatabase PROPERTIES
0015                       VERSION ${DIGIKAM_VERSION_SHORT}
0016                       SOVERSION ${DIGIKAM_VERSION_SHORT}
0017 )
0018 
0019 target_compile_definitions(digikamdatabase
0020                            PRIVATE
0021                            digikamdatabase_EXPORTS
0022 )
0023 
0024 target_include_directories(digikamdatabase
0025                            PRIVATE
0026                            ${DIGIKAM_TARGET_INCLUDES}
0027 )
0028 
0029 add_dependencies(digikamdatabase digikamcore)
0030 
0031 # All codes from this target are exported with digikam_database_export.h header and DIGIKAM_DATABASE_EXPORT macro.
0032 generate_export_header(digikamdatabase
0033                        BASE_NAME digikam_database
0034                        EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/utils/digikam_database_export.h"
0035 )
0036 
0037 # NOTE: all this target dependencies must be private and not exported to prevent inherited dependencies on external plugins.
0038 
0039 target_link_libraries(digikamdatabase
0040 
0041                       PRIVATE
0042 
0043                       Qt${QT_VERSION_MAJOR}::Core
0044                       Qt${QT_VERSION_MAJOR}::Gui
0045                       Qt${QT_VERSION_MAJOR}::Sql
0046 
0047                       KF${QT_VERSION_MAJOR}::ConfigCore
0048                       KF${QT_VERSION_MAJOR}::Solid
0049                       KF${QT_VERSION_MAJOR}::I18n
0050 
0051                       digikamcore
0052 
0053                       opencv_core
0054                       opencv_objdetect
0055                       opencv_imgproc
0056                       opencv_imgcodecs
0057                       opencv_dnn
0058                       opencv_ml
0059                       opencv_flann
0060 )
0061 
0062 if(ENABLE_DBUS)
0063 
0064     target_link_libraries(digikamdatabase
0065                           PRIVATE
0066                           Qt${QT_VERSION_MAJOR}::DBus
0067     )
0068 
0069 endif()
0070 
0071 # Share the install include directory for the 3rdparty plugins
0072 target_include_directories(digikamdatabase INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/digikam>")
0073 
0074 ### Install Rules ###############################################################################################################
0075 
0076 install(TARGETS digikamdatabase EXPORT DigikamDatabaseConfig ${INSTALL_TARGETS_DEFAULT_ARGS})
0077 install(EXPORT DigikamDatabaseConfig DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/DigikamDatabase" NAMESPACE Digikam::)
0078 
0079 write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/DigikamDatabaseConfigVersion.cmake
0080                                  VERSION ${DIGIKAM_VERSION_SHORT}
0081                                  COMPATIBILITY SameMajorVersion)
0082 
0083 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/DigikamDatabaseConfigVersion.cmake
0084         DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/DigikamDatabase")
0085 
0086 # Install debug Symbols
0087 
0088 if(MSVC)
0089     install(FILES "$<TARGET_PDB_FILE:digikamdatabase>" DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Debug RelWithDebInfo)
0090 endif()
0091 
0092 if(APPLE)
0093     install(FILES "$<TARGET_FILE:digikamdatabase>.dSYM" DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Debug RelWithDebInfo)
0094 endif()