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})