Warning, /graphics/digikam/core/dplugins/generic/view/presentation/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 #
0002 # SPDX-FileCopyrightText: 2010-2024, Gilles Caulier, <caulier dot gilles at gmail dot com>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 #
0006 
0007 APPLY_COMMON_POLICIES()
0008 
0009 include(MacroDPlugins)
0010 
0011 if(HAVE_MEDIAPLAYER)
0012 
0013     include_directories(${CMAKE_CURRENT_SOURCE_DIR}/audio)
0014 
0015     if(Qt6_FOUND AND ENABLE_QTMULTIMEDIA)
0016 
0017         include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::MultimediaWidgets,INTERFACE_INCLUDE_DIRECTORIES>)
0018 
0019         set(QTMEDIA_BACKEND Qt${QT_VERSION_MAJOR}::Multimedia
0020                             Qt${QT_VERSION_MAJOR}::MultimediaWidgets
0021         )
0022 
0023     else()
0024 
0025         set(QTMEDIA_BACKEND ${MEDIAPLAYER_LIBRARIES})
0026 
0027     endif()
0028 
0029 endif()
0030 
0031 if(HAVE_OPENGL)
0032 
0033     if(APPLE)
0034 
0035         # Under MacOS 10.14 (Mojave), OpenGL API start to be deprecated in favor to Apple Metal API.
0036         # https://appleinsider.com/articles/18/06/28/why-macos-mojave-requires-metal----and-deprecates-opengl
0037         add_definitions(-DGL_SILENCE_DEPRECATION)
0038 
0039     endif()
0040 
0041     include_directories(${CMAKE_CURRENT_SOURCE_DIR}/opengl)
0042     include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::OpenGL,INTERFACE_INCLUDE_DIRECTORIES>)
0043 
0044     set(QT_OPENGL_LIBRARIES Qt${QT_VERSION_MAJOR}::OpenGL)
0045 
0046     if (Qt6_FOUND)
0047         include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::OpenGLWidgets,INTERFACE_INCLUDE_DIRECTORIES>)
0048         set(QT_OPENGL_LIBRARIES ${QT_OPENGL_LIBRARIES} Qt${QT_VERSION_MAJOR}::OpenGLWidgets)
0049     endif()
0050 
0051 endif()
0052 
0053 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/dialogs
0054                     ${CMAKE_CURRENT_SOURCE_DIR}/widgets
0055                     ${CMAKE_CURRENT_SOURCE_DIR}/common
0056 )
0057 
0058 include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Widgets,INTERFACE_INCLUDE_DIRECTORIES>
0059                     $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Core,INTERFACE_INCLUDE_DIRECTORIES>
0060 
0061                     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
0062                     $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::I18n,INTERFACE_INCLUDE_DIRECTORIES>
0063 )
0064 
0065 set(presentationplugin_SRCS
0066     ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_captionpage.cpp
0067     ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_advpage.cpp
0068 
0069     ${CMAKE_CURRENT_SOURCE_DIR}/widgets/presentationctrlwidget.cpp
0070     ${CMAKE_CURRENT_SOURCE_DIR}/widgets/presentationwidget.cpp
0071 
0072     ${CMAKE_CURRENT_SOURCE_DIR}/common/presentationcontainer.cpp
0073     ${CMAKE_CURRENT_SOURCE_DIR}/common/presentationloader.cpp
0074 
0075     ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentationdlg.cpp
0076     ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_mainpage.cpp
0077 
0078     ${CMAKE_CURRENT_SOURCE_DIR}/presentationmngr.cpp
0079     ${CMAKE_CURRENT_SOURCE_DIR}/presentationplugin.cpp
0080 )
0081 
0082 if(HAVE_OPENGL)
0083 
0084     set(presentationplugin_SRCS
0085         ${presentationplugin_SRCS}
0086         ${CMAKE_CURRENT_SOURCE_DIR}/opengl/presentationgl.cpp
0087         ${CMAKE_CURRENT_SOURCE_DIR}/opengl/presentationkb.cpp
0088         ${CMAKE_CURRENT_SOURCE_DIR}/opengl/kbeffect.cpp
0089         ${CMAKE_CURRENT_SOURCE_DIR}/opengl/kbimageloader.cpp
0090     )
0091 
0092 endif()
0093 
0094 if(HAVE_MEDIAPLAYER)
0095 
0096     set(presentationplugin_SRCS
0097         ${presentationplugin_SRCS}
0098         ${CMAKE_CURRENT_SOURCE_DIR}/audio/presentation_audiopage.cpp
0099         ${CMAKE_CURRENT_SOURCE_DIR}/audio/presentationaudiolist.cpp
0100         ${CMAKE_CURRENT_SOURCE_DIR}/audio/presentationaudiowidget.cpp
0101     )
0102 
0103     ki18n_wrap_ui(presentationplugin_SRCS
0104                   ${CMAKE_CURRENT_SOURCE_DIR}/audio/presentation_audiopage.ui
0105                   ${CMAKE_CURRENT_SOURCE_DIR}/audio/presentationaudiowidget.ui
0106     )
0107 
0108 endif()
0109 
0110 ki18n_wrap_ui(presentationplugin_SRCS
0111               ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_mainpage.ui
0112               ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_captionpage.ui
0113               ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/presentation_advpage.ui
0114               ${CMAKE_CURRENT_SOURCE_DIR}/widgets/presentationctrlwidget.ui
0115 )
0116 
0117 
0118 if(HAVE_OPENGL)
0119 
0120     DIGIKAM_ADD_GENERIC_PLUGIN(NAME    Presentation
0121                                SOURCES ${presentationplugin_SRCS}
0122                                DEPENDS ${QT_OPENGL_LIBRARIES}
0123                                        ${QTMEDIA_BACKEND}
0124                                        ${OPENGL_LIBRARIES}
0125     )
0126 
0127 else()
0128 
0129     DIGIKAM_ADD_GENERIC_PLUGIN(NAME    Presentation
0130                                SOURCES ${presentationplugin_SRCS}
0131                                DEPENDS ${QTMEDIA_BACKEND}
0132 
0133     )
0134 
0135 endif()