Warning, /graphics/digikam/core/app/DigikamTarget.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 # 0005 # SPDX-License-Identifier: BSD-3-Clause 0006 # 0007 0008 # To fill MacOS and Windows bundles metadata 0009 0010 set(BUNDLE_APP_NAME_STRING "digikam") 0011 set(BUNDLE_APP_DESCRIPTION_STRING "Advanced digital photo management application") 0012 set(BUNDLE_LEGAL_COPYRIGHT_STRING "GNU Public License V2") 0013 set(BUNDLE_COMMENT_STRING "Free and open source software to manage photo") 0014 set(BUNDLE_LONG_VERSION_STRING ${DIGIKAM_VERSION_STRING}) 0015 set(BUNDLE_SHORT_VERSION_STRING ${DIGIKAM_VERSION_SHORT}) 0016 set(BUNDLE_VERSION_STRING ${DIGIKAM_VERSION_STRING}) 0017 0018 # digiKam executable 0019 0020 set(digikam_SRCS 0021 ${CMAKE_CURRENT_SOURCE_DIR}/main/main.cpp 0022 ) 0023 0024 # Set the application icon on the application 0025 0026 file(GLOB ICONS_SRCS "${CMAKE_SOURCE_DIR}/core/data/icons/apps/*-apps-digikam.png") 0027 0028 if(WIN32) 0029 0030 # Build the main implementation into a DLL to be called by a stub EXE. 0031 # This is a work around "command line is too long" issue on Windows. 0032 # see https://stackoverflow.com/questions/43184251/cmake-command-line-too-long-windows 0033 0034 add_library(digikam SHARED ${digikam_SRCS}) 0035 set_target_properties(digikam PROPERTIES PREFIX "") 0036 0037 elseif(APPLE) 0038 0039 ecm_add_app_icon(digikam_SRCS ICONS ${ICONS_SRCS}) 0040 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/templates/DigikamInfo.plist.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) 0041 add_executable(digikam ${digikam_SRCS}) 0042 set_target_properties(digikam PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) 0043 0044 else() 0045 0046 ecm_add_app_icon(digikam_SRCS ICONS ${ICONS_SRCS}) 0047 add_executable(digikam ${digikam_SRCS}) 0048 0049 endif() 0050 0051 target_include_directories(digikam 0052 PRIVATE 0053 ${DIGIKAM_TARGET_INCLUDES} 0054 ) 0055 0056 add_dependencies(digikam digikam-gitversion) 0057 add_dependencies(digikam digikam-builddate) 0058 0059 target_link_libraries(digikam 0060 0061 PUBLIC 0062 0063 Qt${QT_VERSION_MAJOR}::Core 0064 Qt${QT_VERSION_MAJOR}::Gui 0065 Qt${QT_VERSION_MAJOR}::Widgets 0066 Qt${QT_VERSION_MAJOR}::Sql 0067 0068 KF${QT_VERSION_MAJOR}::WindowSystem 0069 KF${QT_VERSION_MAJOR}::I18n 0070 KF${QT_VERSION_MAJOR}::XmlGui 0071 KF${QT_VERSION_MAJOR}::ConfigCore 0072 KF${QT_VERSION_MAJOR}::Service 0073 KF${QT_VERSION_MAJOR}::CoreAddons 0074 0075 digikamcore 0076 digikamdatabase 0077 digikamgui 0078 ) 0079 0080 if(ENABLE_DBUS) 0081 0082 target_link_libraries(digikam 0083 PUBLIC 0084 Qt${QT_VERSION_MAJOR}::DBus 0085 ) 0086 0087 endif() 0088 0089 if(KF${QT_VERSION_MAJOR}IconThemes_FOUND) 0090 0091 target_link_libraries(digikam 0092 PUBLIC 0093 KF${QT_VERSION_MAJOR}::IconThemes 0094 ) 0095 0096 if(Qt6_FOUND) 0097 0098 target_link_libraries(digikam 0099 PUBLIC 0100 KF${QT_VERSION_MAJOR}::IconWidgets 0101 ) 0102 0103 endif() 0104 0105 endif() 0106 0107 if(KF${QT_VERSION_MAJOR}KIO_FOUND) 0108 0109 target_link_libraries(digikam 0110 PUBLIC 0111 KF${QT_VERSION_MAJOR}::KIOWidgets 0112 ) 0113 0114 endif() 0115 0116 if(ImageMagick_Magick++_FOUND) 0117 0118 target_link_libraries(digikam 0119 PUBLIC 0120 ${ImageMagick_LIBRARIES} 0121 ) 0122 0123 endif() 0124 0125 if(Qt6_FOUND) 0126 install(TARGETS digikam DESTINATION ${KDE_INSTALL_BINDIR}) 0127 else() 0128 install(TARGETS digikam ${INSTALL_TARGETS_DEFAULT_ARGS}) 0129 endif() 0130 0131 if(APPLE) 0132 install(FILES "$<TARGET_FILE:digikam>.dSYM" DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Debug RelWithDebInfo) 0133 endif() 0134 0135 if(WIN32) 0136 0137 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/templates/versioninfo.rc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc) 0138 0139 set(digikam_windows_stub_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/main/windows_stub_main.cpp) 0140 0141 ecm_add_app_icon(digikam_windows_stub_SRCS ICONS ${ICONS_SRCS}) 0142 0143 add_executable(digikam_windows_stub_exe 0144 ${digikam_windows_stub_SRCS} 0145 ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc 0146 ) 0147 0148 target_link_libraries(digikam_windows_stub_exe 0149 PRIVATE 0150 digikam) 0151 0152 if(NOT Qt6_FOUND) 0153 0154 target_link_libraries(digikam_windows_stub_exe 0155 PRIVATE 0156 Qt${QT_VERSION_MAJOR}::WinMain) 0157 0158 endif() 0159 0160 set_target_properties(digikam_windows_stub_exe PROPERTIES OUTPUT_NAME "digikam") 0161 target_include_directories(digikam_windows_stub_exe PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/main) 0162 0163 install(TARGETS digikam_windows_stub_exe ${INSTALL_TARGETS_DEFAULT_ARGS}) 0164 0165 endif()