Warning, /graphics/spectacle/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # common - configure file and version definitions
0002
0003 set(SPECTACLE_QML_URI "org.kde.spectacle.private")
0004 set(SPECTACLE_QML_PATH "qrc:/qt/qml/org/kde/spectacle/private")
0005 configure_file(Config.h.in ${CMAKE_CURRENT_BINARY_DIR}/Config.h)
0006
0007 # target
0008
0009 kconfig_add_kcfg_files(SPECTACLE_SRCS GENERATE_MOC Gui/SettingsDialog/settings.kcfgc)
0010
0011 ecm_qt_declare_logging_category(SPECTACLE_SRCS HEADER spectacle_core_debug.h IDENTIFIER SPECTACLE_CORE_LOG CATEGORY_NAME org.kde.spectacle.core DESCRIPTION "spectacle (core)" EXPORT SPECTACLE)
0012 ecm_qt_declare_logging_category(SPECTACLE_SRCS HEADER spectacle_gui_debug.h IDENTIFIER SPECTACLE_GUI_LOG CATEGORY_NAME org.kde.spectacle.gui DESCRIPTION "spectacle (gui)" EXPORT SPECTACLE)
0013
0014 add_executable(spectacle
0015 ${SPECTACLE_SRCS}
0016 Main.cpp
0017 CaptureModeModel.cpp
0018 CommandLineOptions.cpp
0019 RecordingModeModel.cpp
0020 ExportManager.cpp
0021 Geometry.cpp
0022 PlasmaVersion.cpp
0023 ScreenShotEffect.cpp
0024 SpectacleCore.cpp
0025 SpectacleDBusAdapter.cpp
0026 ShortcutActions.cpp
0027 VideoFormatModel.cpp
0028 Gui/CaptureWindow.cpp
0029 Gui/ExportMenu.cpp
0030 Gui/HelpMenu.cpp
0031 Gui/OptionsMenu.cpp
0032 Gui/SmartSpinBox.cpp
0033 Gui/Selection.cpp
0034 Gui/SelectionEditor.cpp
0035 Gui/SpectacleWindow.cpp
0036 Gui/SpectacleMenu.cpp
0037 Gui/ViewerWindow.cpp
0038 Gui/Annotations/AnnotationDocument.cpp
0039 Gui/Annotations/AnnotationViewport.cpp
0040 Gui/Annotations/EditAction.cpp
0041 Gui/Annotations/EffectUtils.cpp
0042 Gui/SettingsDialog/ImageSaveOptionsPage.cpp
0043 Gui/SettingsDialog/VideoSaveOptionsPage.cpp
0044 Gui/SettingsDialog/SettingsDialog.cpp
0045 Gui/SettingsDialog/GeneralOptionsPage.cpp
0046 Gui/SettingsDialog/ShortcutsOptionsPage.cpp
0047 Platforms/PlatformLoader.cpp
0048 Platforms/ImagePlatform.cpp
0049 Platforms/PlatformNull.cpp
0050 Platforms/ImagePlatformKWin.cpp
0051 Platforms/VideoPlatform.cpp
0052 Platforms/VideoPlatformWayland.cpp
0053 Platforms/screencasting.cpp
0054 )
0055
0056 if(XCB_FOUND)
0057 target_sources(spectacle PRIVATE Platforms/ImagePlatformXcb.cpp Platforms/ImagePlatformXcb.h)
0058
0059 target_link_libraries(spectacle PRIVATE
0060 XCB::XFIXES
0061 XCB::IMAGE
0062 XCB::CURSOR
0063 XCB::UTIL
0064 XCB::RANDR
0065 )
0066 target_link_libraries(spectacle PRIVATE Qt6::GuiPrivate) # Gui/private/qtx11extras_p.h
0067 endif()
0068
0069 qt6_generate_wayland_protocol_client_sources(spectacle FILES
0070 ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml)
0071
0072
0073 if(PURPOSE_FOUND)
0074 target_link_libraries(spectacle PRIVATE KF6::PurposeWidgets)
0075 endif()
0076
0077 ki18n_wrap_ui(spectacle
0078 Gui/SettingsDialog/GeneralOptions.ui
0079 Gui/SettingsDialog/ImageSaveOptions.ui
0080 Gui/SettingsDialog/VideoSaveOptions.ui
0081 )
0082
0083 target_link_libraries(spectacle PRIVATE
0084 Qt::Concurrent
0085 Qt::DBus
0086 Qt::PrintSupport
0087 Qt::Qml
0088 Qt::Quick
0089 Qt::QuickControls2
0090 Qt::QuickTemplates2
0091 Qt::GuiPrivate
0092 Qt::WaylandClient
0093 KF6::CoreAddons
0094 KF6::DBusAddons
0095 KF6::WidgetsAddons
0096 KF6::Notifications
0097 KF6::ConfigCore
0098 KF6::I18n
0099 KF6::KIOWidgets
0100 KF6::WindowSystem
0101 KF6::GlobalAccel
0102 KF6::XmlGui
0103 KF6::GuiAddons
0104 KF6::KirigamiPlatform
0105 K::KPipeWireRecord
0106 Wayland::Client
0107 LayerShellQt::Interface
0108 )
0109
0110 set_source_files_properties(Gui/QmlUtils.qml PROPERTIES
0111 QT_QML_SINGLETON_TYPE TRUE
0112 )
0113
0114 qt_add_qml_module(spectacle
0115 URI ${SPECTACLE_QML_URI}
0116 QML_FILES
0117 Gui/AnimatedLoader.qml
0118 Gui/AnnotationOptionsToolBarContents.qml
0119 Gui/Annotations/AnnotationEditor.qml
0120 Gui/Annotations/HoverOutline.qml
0121 Gui/Annotations/ResizeHandles.qml
0122 Gui/Annotations/SelectionBackground.qml
0123 Gui/Annotations/TextTool.qml
0124 Gui/AnnotationsToolBarContents.qml
0125 Gui/ButtonGrid.qml
0126 Gui/CaptureModeButtonsColumn.qml
0127 Gui/CaptureOptions.qml
0128 Gui/CaptureSettingsColumn.qml
0129 Gui/CopiedMessage.qml
0130 Gui/DelaySpinBox.qml
0131 Gui/DialogPage.qml
0132 Gui/EmptyPage.qml
0133 Gui/FloatingBackground.qml
0134 Gui/FloatingToolBar.qml
0135 Gui/ImageCaptureOverlay.qml
0136 Gui/ImageView.qml
0137 Gui/InlineMessage.qml
0138 Gui/LocationCopiedMessage.qml
0139 Gui/Magnifier.qml
0140 Gui/MainToolBarContents.qml
0141 Gui/QmlUtils.qml
0142 Gui/RecordOptions.qml
0143 Gui/RecordingFailedMessage.qml
0144 Gui/RecordingView.qml
0145 Gui/SavedAndCopiedMessage.qml
0146 Gui/SavedAndLocationCopied.qml
0147 Gui/SavedMessage.qml
0148 Gui/ScreenshotFailedMessage.qml
0149 Gui/ScreenshotView.qml
0150 Gui/ShareErrorMessage.qml
0151 Gui/SharedMessage.qml
0152 Gui/ShortcutsTextBox.qml
0153 Gui/SizeLabel.qml
0154 Gui/UndoRedoGroup.qml
0155 Gui/VideoCaptureOverlay.qml
0156 )
0157
0158 install(TARGETS spectacle ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})