You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.9 KiB
75 lines
2.9 KiB
|
|
set(kworkspace_LIB_SRCS kdisplaymanager.cpp |
|
kworkspace.cpp |
|
) |
|
|
|
add_definitions(-DTRANSLATION_DOMAIN=\"libkworkspace\") |
|
remove_definitions(-DQT_NO_CAST_FROM_ASCII) |
|
remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) |
|
remove_definitions(-DQT_NO_CAST_TO_ASCII) |
|
|
|
|
|
set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml) |
|
qt5_add_dbus_interface( kworkspace_LIB_SRCS ${ksmserver_xml} ksmserver_interface ) |
|
|
|
set_source_files_properties(${KWIN_INTERFACE} PROPERTIES INCLUDE "interface_util.h") |
|
|
|
qt5_add_dbus_interface( kworkspace_LIB_SRCS ${KWIN_INTERFACE} kwin_interface ) |
|
|
|
|
|
add_library(kworkspace ${kworkspace_LIB_SRCS}) |
|
add_library(PW::KWorkspace ALIAS kworkspace) |
|
set_target_properties(kworkspace PROPERTIES |
|
VERSION ${PROJECT_VERSION} |
|
SOVERSION ${PROJECT_VERSION_MAJOR} |
|
EXPORT_NAME KWorkspace |
|
OUTPUT_NAME kworkspace5 |
|
) |
|
|
|
generate_export_header(kworkspace) |
|
target_link_libraries(kworkspace |
|
PUBLIC |
|
Qt5::Core |
|
PRIVATE |
|
Qt5::DBus |
|
KF5::I18n |
|
KF5::WindowSystem |
|
KF5::Plasma |
|
) |
|
target_include_directories(kworkspace PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" |
|
INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/kworkspace5>" ) |
|
|
|
configure_file(config-libkworkspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libkworkspace.h) |
|
|
|
if(X11_FOUND) |
|
if(NOT X11_Xau_FOUND) |
|
message(FATAL_ERROR "Found X11, but not libXau which is required for building kworkspace") |
|
endif() |
|
target_link_libraries(kworkspace PRIVATE Qt5::X11Extras ${X11_LIBRARIES} ${X11_Xau_LIB}) |
|
endif() |
|
|
|
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/LibKWorkspaceConfigVersion.cmake VERSION |
|
"${PROJECT_VERSION}" COMPATIBILITY AnyNewerVersion) |
|
|
|
install(TARGETS kworkspace EXPORT libkworkspaceLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) |
|
|
|
install( FILES kdisplaymanager.h |
|
kworkspace.h |
|
${CMAKE_CURRENT_BINARY_DIR}/config-libkworkspace.h |
|
${CMAKE_CURRENT_BINARY_DIR}/kworkspace_export.h |
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kworkspace5 COMPONENT Devel ) |
|
|
|
set(CMAKECONFIG_INSTALL_DIR ${KDE_INSTALL_LIBDIR}/cmake/LibKWorkspace) |
|
ecm_configure_package_config_file(LibKWorkspaceConfig.cmake.in |
|
"${CMAKE_CURRENT_BINARY_DIR}/LibKWorkspaceConfig.cmake" |
|
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}) |
|
|
|
install(FILES |
|
${CMAKE_CURRENT_BINARY_DIR}/LibKWorkspaceConfig.cmake |
|
${CMAKE_CURRENT_BINARY_DIR}/LibKWorkspaceConfigVersion.cmake |
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR}) |
|
|
|
install(EXPORT libkworkspaceLibraryTargets |
|
NAMESPACE PW:: |
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR} |
|
FILE LibKWorkspaceLibraryTargets.cmake )
|
|
|