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/AnnotationTool.cpp 0040 Gui/Annotations/AnnotationViewport.cpp 0041 Gui/Annotations/EffectUtils.cpp 0042 Gui/Annotations/History.cpp 0043 Gui/Annotations/QmlPainterPath.cpp 0044 Gui/Annotations/Traits.cpp 0045 Gui/SettingsDialog/ImageSaveOptionsPage.cpp 0046 Gui/SettingsDialog/VideoSaveOptionsPage.cpp 0047 Gui/SettingsDialog/SettingsDialog.cpp 0048 Gui/SettingsDialog/GeneralOptionsPage.cpp 0049 Gui/SettingsDialog/ShortcutsOptionsPage.cpp 0050 Platforms/PlatformLoader.cpp 0051 Platforms/ImagePlatform.cpp 0052 Platforms/PlatformNull.cpp 0053 Platforms/ImagePlatformKWin.cpp 0054 Platforms/VideoPlatform.cpp 0055 Platforms/VideoPlatformWayland.cpp 0056 Platforms/screencasting.cpp 0057 ) 0058 0059 # exceptions are needed for code using ZXing 0060 kde_source_files_enable_exceptions(ExportManager.cpp) 0061 0062 if(XCB_FOUND) 0063 target_sources(spectacle PRIVATE Platforms/ImagePlatformXcb.cpp Platforms/ImagePlatformXcb.h) 0064 0065 target_link_libraries(spectacle PRIVATE 0066 XCB::XFIXES 0067 XCB::IMAGE 0068 XCB::CURSOR 0069 XCB::UTIL 0070 XCB::RANDR 0071 ) 0072 target_link_libraries(spectacle PRIVATE Qt6::GuiPrivate) # Gui/private/qtx11extras_p.h 0073 endif() 0074 0075 qt6_generate_wayland_protocol_client_sources(spectacle FILES 0076 ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml) 0077 0078 0079 if(PURPOSE_FOUND) 0080 target_link_libraries(spectacle PRIVATE KF6::PurposeWidgets) 0081 endif() 0082 0083 ki18n_wrap_ui(spectacle 0084 Gui/SettingsDialog/GeneralOptions.ui 0085 Gui/SettingsDialog/ImageSaveOptions.ui 0086 Gui/SettingsDialog/VideoSaveOptions.ui 0087 ) 0088 0089 target_link_libraries(spectacle PRIVATE 0090 Qt::Concurrent 0091 Qt::DBus 0092 Qt::PrintSupport 0093 Qt::Qml 0094 Qt::Quick 0095 Qt::QuickControls2 0096 Qt::QuickTemplates2 0097 Qt::GuiPrivate 0098 Qt::WaylandClient 0099 KF6::CoreAddons 0100 KF6::DBusAddons 0101 KF6::WidgetsAddons 0102 KF6::Notifications 0103 KF6::ConfigCore 0104 KF6::I18n 0105 KF6::KIOWidgets 0106 KF6::WindowSystem 0107 KF6::GlobalAccel 0108 KF6::XmlGui 0109 KF6::GuiAddons 0110 KF6::KirigamiPlatform 0111 K::KPipeWireRecord 0112 Wayland::Client 0113 LayerShellQt::Interface 0114 ZXing::Core 0115 ) 0116 0117 set_source_files_properties(Gui/QmlUtils.qml PROPERTIES 0118 QT_QML_SINGLETON_TYPE TRUE 0119 ) 0120 0121 qt_add_qml_module(spectacle 0122 URI ${SPECTACLE_QML_URI} 0123 QML_FILES 0124 Gui/AnimatedLoader.qml 0125 Gui/AnnotationOptionsToolBarContents.qml 0126 Gui/Annotations/AnnotationEditor.qml 0127 Gui/Annotations/HoverOutline.qml 0128 Gui/Annotations/ResizeHandles.qml 0129 Gui/Annotations/SelectionBackground.qml 0130 Gui/Annotations/TextTool.qml 0131 Gui/AnnotationsToolBarContents.qml 0132 Gui/ButtonGrid.qml 0133 Gui/CaptureModeButtonsColumn.qml 0134 Gui/CaptureOptions.qml 0135 Gui/CaptureSettingsColumn.qml 0136 Gui/CopiedMessage.qml 0137 Gui/DelaySpinBox.qml 0138 Gui/DialogPage.qml 0139 Gui/EmptyPage.qml 0140 Gui/FloatingBackground.qml 0141 Gui/FloatingToolBar.qml 0142 Gui/Handle.qml 0143 Gui/ImageCaptureOverlay.qml 0144 Gui/ImageView.qml 0145 Gui/InlineMessage.qml 0146 Gui/LocationCopiedMessage.qml 0147 Gui/Magnifier.qml 0148 Gui/MainToolBarContents.qml 0149 Gui/QmlUtils.qml 0150 Gui/QRCodeScannedMessage.qml 0151 Gui/RecordOptions.qml 0152 Gui/RecordingFailedMessage.qml 0153 Gui/RecordingView.qml 0154 Gui/SavedAndCopiedMessage.qml 0155 Gui/SavedAndLocationCopied.qml 0156 Gui/SavedMessage.qml 0157 Gui/ScreenshotFailedMessage.qml 0158 Gui/ScreenshotView.qml 0159 Gui/ShareErrorMessage.qml 0160 Gui/SharedMessage.qml 0161 Gui/ShortcutsTextBox.qml 0162 Gui/SizeLabel.qml 0163 Gui/UndoRedoGroup.qml 0164 Gui/VideoCaptureOverlay.qml 0165 ) 0166 0167 install(TARGETS spectacle ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})