Warning, /plasma/layer-shell-qt/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003
0004 remove_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
0005
0006 add_library(LayerShellQtInterface)
0007 qt6_generate_wayland_protocol_client_sources(LayerShellQtInterface FILES
0008 ${WaylandProtocols_DATADIR}/stable/xdg-shell/xdg-shell.xml
0009 ${WaylandProtocols_DATADIR}/staging/xdg-activation/xdg-activation-v1.xml
0010 ${CMAKE_CURRENT_SOURCE_DIR}/wlr-layer-shell-unstable-v1.xml
0011 )
0012
0013 ecm_qt_declare_logging_category(LayerShellQtInterface
0014 HEADER
0015 layershellqt_logging.h
0016 IDENTIFIER
0017 LAYERSHELLQT
0018 CATEGORY_NAME
0019 layershellqt
0020 )
0021
0022 target_sources(LayerShellQtInterface PRIVATE
0023 qwaylandxdgactivationv1.cpp
0024 qwaylandlayersurface.cpp
0025 qwaylandlayershellintegration.cpp
0026 interfaces/window.cpp
0027 interfaces/shell.cpp
0028 )
0029
0030 target_link_libraries(LayerShellQtInterface PUBLIC Qt::Gui)
0031 target_link_libraries(LayerShellQtInterface PRIVATE Qt::WaylandClientPrivate Wayland::Client PkgConfig::XKBCOMMON)
0032 if (TARGET Qt::XkbCommonSupportPrivate)
0033 target_link_libraries(LayerShellQtInterface PRIVATE Qt::XkbCommonSupportPrivate)
0034 endif()
0035 target_include_directories(LayerShellQtInterface PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/LayerShellQt>"
0036 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/>"
0037 )
0038
0039 set_target_properties(LayerShellQtInterface PROPERTIES VERSION ${LAYERSHELLQT_VERSION}
0040 SOVERSION ${LAYERSHELLQT_SOVERSION}
0041 EXPORT_NAME Interface
0042 )
0043
0044 add_library(layer-shell SHARED qwaylandlayershellintegrationplugin.cpp)
0045 target_link_libraries(layer-shell LayerShellQtInterface Qt::WaylandClient Qt::WaylandClientPrivate Wayland::Client PkgConfig::XKBCOMMON)
0046 if (TARGET Qt::XkbCommonSupportPrivate)
0047 target_link_libraries(layer-shell Qt::XkbCommonSupportPrivate)
0048 endif()
0049
0050 ecm_generate_headers(LayerShellQt_HEADERS
0051 HEADER_NAMES
0052 Shell
0053 Window
0054 RELATIVE interfaces/
0055 REQUIRED_HEADERS LayerShellQt_HEADERS
0056 )
0057
0058
0059 generate_export_header(LayerShellQtInterface
0060 BASE_NAME LayerShellQtInterface
0061 EXPORT_MACRO_NAME LAYERSHELLQT_EXPORT
0062 EXPORT_FILE_NAME LayerShellQt/layershellqt_export.h
0063 )
0064
0065 install(TARGETS layer-shell
0066 LIBRARY DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/wayland-shell-integration)
0067
0068 install(TARGETS LayerShellQtInterface EXPORT LayerShellQtTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0069
0070 install(FILES
0071 ${LayerShellQt_HEADERS}
0072 ${CMAKE_CURRENT_BINARY_DIR}/LayerShellQt/layershellqt_export.h
0073 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/LayerShellQt COMPONENT Devel
0074 )
0075
0076 add_subdirectory(declarative)