Warning, /plasma/libkscreen/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(backendlauncher)
0002 add_subdirectory(doctor)
0003 add_subdirectory(libdpms)
0004 set(libkscreen_SRCS
0005     abstractbackend.cpp
0006     backendmanager.cpp
0007     config.cpp
0008     configoperation.cpp
0009     getconfigoperation.cpp
0010     setconfigoperation.cpp
0011     configmonitor.cpp
0012     configserializer.cpp
0013     screen.cpp
0014     output.cpp
0015     edid.cpp
0016     mode.cpp
0017     log.cpp
0018 )
0019 
0020 qt_add_dbus_interface(libkscreen_SRCS ${CMAKE_SOURCE_DIR}/interfaces/org.kde.KScreen.Backend.xml backendinterface)
0021 
0022 ecm_qt_declare_logging_category(libkscreen_SRCS
0023                                 HEADER kscreen_debug.h
0024                                 IDENTIFIER KSCREEN 
0025                                 CATEGORY_NAME org.kde.kscreen
0026 )
0027 
0028 ecm_qt_declare_logging_category(libkscreen_SRCS
0029                                 HEADER kscreen_debug_edid.h
0030                                 IDENTIFIER KSCREEN_EDID
0031                                 CATEGORY_NAME org.kde.kscreen.edid
0032 )
0033 
0034 
0035 add_library(KF6Screen SHARED ${libkscreen_SRCS})
0036 generate_export_header(KF6Screen BASE_NAME KScreen)
0037 
0038 ecm_create_qm_loader(KF6Screen libkscreen6_qt)
0039 
0040 target_link_libraries(KF6Screen
0041     PUBLIC
0042     Qt::Core
0043     Qt::Gui
0044     PRIVATE
0045     Qt::DBus
0046     Qt::GuiPrivate # for QX11Info
0047 )
0048 
0049 set_target_properties(KF6Screen PROPERTIES
0050     VERSION "${KSCREEN_VERSION}"
0051     SOVERSION "${KSCREEN_SOVERSION}"
0052     EXPORT_NAME Screen
0053 )
0054 
0055 target_include_directories(KF6Screen PUBLIC "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KScreen>")
0056 
0057 install(TARGETS KF6Screen EXPORT KF6ScreenTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0058 add_library(KF6::Screen ALIAS KF6Screen)
0059 
0060 ecm_generate_headers(KScreen_HEADERS
0061     HEADER_NAMES
0062         Log
0063         Mode
0064         Output
0065         EDID
0066         Screen
0067         Config
0068         ConfigMonitor
0069         ConfigOperation
0070         GetConfigOperation
0071         SetConfigOperation
0072         Types
0073     PREFIX KScreen
0074     REQUIRED_HEADERS KScreen_REQ_HEADERS
0075 )
0076 
0077 install(FILES ${KScreen_HEADERS}
0078         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KScreen/KScreen
0079         COMPONENT Devel)
0080 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kscreen_export.h
0081               backendmanager_p.h # needed for unit-tests in KScreen
0082               ${KScreen_REQ_HEADERS}
0083         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KScreen/kscreen)
0084 
0085 if(NOT WIN32)
0086     ecm_generate_pkgconfig_file(BASE_NAME KF6Screen
0087         LIB_NAME KF6Screen
0088         INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KScreen
0089         DEPS Qt6Core Qt6Gui
0090         DESCRIPTION "Qt Based library to manage screens with backends (xrandr, whatevercomesnext)"
0091         INSTALL
0092      )
0093 endif(NOT WIN32)
0094 
0095 if(BUILD_QCH)
0096     ecm_add_qch(
0097         KF6Screen_QCH
0098         NAME KScreen
0099         BASE_NAME KF6Screen
0100         VERSION ${PROJECT_VERSION}
0101         ORG_DOMAIN org.kde
0102         SOURCES # using only public headers, to cover only public API
0103             ${KScreen_REQ_HEADERS}
0104         # MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0105         LINK_QCHS
0106             Qt6Core_QCH
0107             Qt6Gui_QCH
0108         BLANK_MACROS
0109             KSCREEN_EXPORT
0110             KSCREEN_DEPRECATED
0111             KSCREEN_DEPRECATED_EXPORT
0112         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0113         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0114         COMPONENT Devel
0115     )
0116 endif()