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)