project ( KWIN )
set ( PROJECT_VERSION "5.5.90" )
set ( PROJECT_VERSION_MAJOR 5 )
cmake_minimum_required ( VERSION 2.8.12 FATAL_ERROR )
set ( QT_MIN_VERSION "5.4.0" )
set ( KF5_MIN_VERSION "5.12.0" )
set ( CMAKE_MODULE_PATH ${ CMAKE_CURRENT_SOURCE_DIR } /cmake/modules ${ CMAKE_MODULE_PATH } )
find_package ( ECM 0.0.11 REQUIRED NO_MODULE )
include ( FeatureSummary )
include ( WriteBasicConfigVersionFile )
include ( GenerateExportHeader )
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
set ( CMAKE_MODULE_PATH ${ CMAKE_MODULE_PATH } ${ ECM_MODULE_PATH } ${ ECM_KDE_MODULE_DIR } )
find_package ( Qt5 ${ QT_MIN_VERSION } CONFIG REQUIRED COMPONENTS
C o n c u r r e n t
C o r e
D B u s
Q u i c k
Q u i c k W i d g e t s
S c r i p t
U i T o o l s
W i d g e t s
X 1 1 E x t r a s
)
find_package ( Qt5Test ${ QT_MIN_VERSION } CONFIG QUIET )
set_package_properties ( Qt5Test PROPERTIES
P U R P O S E " R e q u i r e d f o r t e s t s "
T Y P E O P T I O N A L
)
add_feature_info ( "Qt5Test" Qt5Test_FOUND "Required for building tests" )
if ( NOT Qt5Test_FOUND )
set ( BUILD_TESTING OFF CACHE BOOL "Build the testing tree." )
endif ( )
include ( KDEInstallDirs )
include ( KDECMakeSettings )
include ( KDECompilerSettings )
include ( ECMInstallIcons )
include ( ECMOptionalAddSubdirectory )
add_definitions ( -DQT_DISABLE_DEPRECATED_BEFORE=0 -DQT_USE_QSTRINGBUILDER )
# require at least gcc 4.8
if ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" )
if ( "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.8" )
message ( SEND_ERROR "Version ${CMAKE_CXX_COMPILER_VERSION} of the ${CMAKE_CXX_COMPILER_ID} C++ compiler is not supported. Please use version 4.8 or later." )
endif ( )
endif ( )
find_package ( Qt5Multimedia QUIET )
set_package_properties ( Qt5Multimedia PROPERTIES
P U R P O S E " R u n t i m e - o n l y d e p e n d e n c y f o r e f f e c t v i d e o p l a y b a c k "
T Y P E R U N T I M E
)
# required frameworks by Core
find_package ( KF5 ${ KF5_MIN_VERSION } REQUIRED COMPONENTS
C o n f i g
C o n f i g W i d g e t s
C o r e A d d o n s
C r a s h
G l o b a l A c c e l
I 1 8 n
I n i t
N o t i f i c a t i o n s
P a c k a g e
P l a s m a
W i d g e t s A d d o n s
W i n d o w S y s t e m
I c o n T h e m e s
I d l e T i m e
)
# required frameworks by config modules
find_package ( KF5 ${ KF5_MIN_VERSION } REQUIRED COMPONENTS
C o m p l e t i o n
D e c l a r a t i v e
K C M U t i l s
K I O
N e w S t u f f
S e r v i c e
X m l G u i
)
find_package ( Threads )
set_package_properties ( Threads PROPERTIES
P U R P O S E " N e e d e d f o r V i r t u a l T e r m i n a l s u p p o r t i n K W i n W a y l a n d "
T Y P E R E Q U I R E D
)
# optional frameworks
find_package ( KF5Activities ${ KF5_MIN_VERSION } CONFIG )
set_package_properties ( KF5Activities PROPERTIES
P U R P O S E " E n a b l e b u i l d i n g o f K W i n w i t h k a c t i v i t i e s s u p p o r t "
T Y P E O P T I O N A L
)
add_feature_info ( "KF5Activities" KF5Activities_FOUND "Enable building of KWin with kactivities support" )
find_package ( KF5DocTools ${ KF5_MIN_VERSION } CONFIG )
set_package_properties ( KF5DocTools PROPERTIES
P U R P O S E " E n a b l e b u i l d i n g d o c u m e n t a t i o n "
T Y P E O P T I O N A L
)
add_feature_info ( "KF5DocTools" KF5DocTools_FOUND "Enable building documentation" )
find_package ( KDecoration2 CONFIG REQUIRED )
find_package ( KF5Wayland CONFIG REQUIRED )
set_package_properties ( KF5Wayland PROPERTIES
T Y P E R E Q U I R E D
)
find_package ( KScreenLocker CONFIG REQUIRED )
set_package_properties ( KScreenLocker PROPERTIES
T Y P E R E Q U I R E D
P U R P O S E " F o r s c r e e n l o c k e r i n t e g r a t i o n i n k w i n _ w a y l a n d " )
find_package ( EGL )
set_package_properties ( EGL PROPERTIES
T Y P E R U N T I M E
P U R P O S E " R e q u i r e d t o b u i l d K W i n w i t h E G L s u p p o r t "
)
find_package ( epoxy )
set_package_properties ( epoxy PROPERTIES DESCRIPTION "libepoxy"
U R L " h t t p : / / g i t h u b . c o m / a n h o l t / l i b e p o x y "
T Y P E R E Q U I R E D
P U R P O S E " O p e n G L d i s p a t c h l i b r a r y "
)
find_package ( Wayland 1.2 REQUIRED COMPONENTS Cursor OPTIONAL_COMPONENTS Egl )
set_package_properties ( Wayland PROPERTIES
T Y P E R E Q U I R E D
P U R P O S E " R e q u i r e d f o r b u i l d i n g K W i n w i t h W a y l a n d s u p p o r t "
)
add_feature_info ( "Wayland::EGL" Wayland_Egl_FOUND "Enable building of Wayland backend and QPA with EGL support." )
set ( HAVE_WAYLAND_EGL FALSE )
if ( Wayland_Egl_FOUND )
set ( HAVE_WAYLAND_EGL TRUE )
endif ( )
find_package ( XKB 0.4.1 )
set_package_properties ( XKB PROPERTIES
T Y P E R E Q U I R E D
P U R P O S E " R e q u i r e d f o r b u i l d i n g K W i n w i t h W a y l a n d s u p p o r t "
)
find_package ( Libinput 0.10 )
set_package_properties ( Libinput PROPERTIES TYPE OPTIONAL PURPOSE "Required for input handling on Wayland." )
find_package ( UDev )
set_package_properties ( UDev PROPERTIES URL "http://www.freedesktop.org/software/systemd/libudev/"
D E S C R I P T I O N " L i n u x d e v i c e l i b r a r y . "
T Y P E O P T I O N A L
P U R P O S E " R e q u i r e d f o r i n p u t h a n d l i n g o n W a y l a n d . "
)
set ( HAVE_INPUT FALSE )
if ( Libinput_FOUND AND UDEV_FOUND )
set ( HAVE_INPUT TRUE )
endif ( )
find_package ( Libdrm )
set_package_properties ( Libdrm PROPERTIES TYPE OPTIONAL PURPOSE "Required for drm output on Wayland." )
set ( HAVE_DRM FALSE )
if ( Libdrm_FOUND AND UDEV_FOUND )
set ( HAVE_DRM TRUE )
endif ( )
find_package ( gbm )
set_package_properties ( gbm PROPERTIES TYPE OPTIONAL PURPOSE "Required for egl ouput of drm backend." )
set ( HAVE_GBM FALSE )
if ( HAVE_DRM AND gbm_FOUND )
set ( HAVE_GBM TRUE )
endif ( )
find_package ( libhybris )
set_package_properties ( libhybris PROPERTIES TYPE OPTIONAL PURPOSE "Required for libhybris backend" )
set ( HAVE_LIBHYBRIS ${ libhybris_FOUND } )
find_package ( X11 )
set_package_properties ( X11 PROPERTIES DESCRIPTION "X11 libraries"
U R L " h t t p : / / w w w . x . o r g "
T Y P E R E Q U I R E D
)
# All the required XCB components
find_package ( XCB 1.10
R E Q U I R E D C O M P O N E N T S
X C B
X F I X E S
D A M A G E
C O M P O S I T E
S H A P E
S Y N C
R E N D E R
R A N D R
K E Y S Y M S
I M A G E
S H M
G L X
C U R S O R
O P T I O N A L _ C O M P O N E N T S
I C C C M
)
set_package_properties ( XCB PROPERTIES TYPE REQUIRED )
# and the optional XCB dependencies
if ( XCB_ICCCM_VERSION VERSION_LESS "0.4" )
set ( XCB_ICCCM_FOUND FALSE )
endif ( )
add_feature_info ( "XCB-ICCCM" XCB_ICCCM_FOUND "Required for building test applications for KWin" )
find_package ( X11_XCB )
set_package_properties ( X11_XCB PROPERTIES
P U R P O S E " R e q u i r e d f o r b u i l d i n g X 1 1 w i n d o w e d b a c k e n d o f k w i n _ w a y l a n d "
T Y P E O P T I O N A L )
# dependencies for QPA plugin
find_package ( Qt5PlatformSupport REQUIRED )
find_package ( Freetype REQUIRED )
set_package_properties ( Freetype PROPERTIES DESCRIPTION "A font rendering engine"
U R L " h t t p : / / w w w . f r e e t y p e . o r g "
T Y P E R E Q U I R E D
P U R P O S E " N e e d e d f o r K W i n ' s Q P A p l u g i n . "
)
find_package ( Fontconfig REQUIRED )
set_package_properties ( Fontconfig PROPERTIES DESCRIPTION "Font access configuration library"
U R L " h t t p : / / w w w . f r e e d e s k t o p . o r g / w i k i / S o f t w a r e / f o n t c o n f i g "
T Y P E R E Q U I R E D
P U R P O S E " N e e d e d f o r K W i n ' s Q P A p l u g i n . "
)
########### configure tests ###############
include ( CMakeDependentOption )
option ( KWIN_BUILD_DECORATIONS "Enable building of KWin decorations." ON )
option ( KWIN_BUILD_KCMS "Enable building of KWin configuration modules." ON )
option ( KWIN_BUILD_TABBOX "Enable building of KWin Tabbox functionality" ON )
option ( KWIN_BUILD_XRENDER_COMPOSITING "Enable building of KWin with XRender Compositing support" ON )
cmake_dependent_option ( KWIN_BUILD_ACTIVITIES "Enable building of KWin with kactivities support" ON "KF5Activities_FOUND" OFF )
# Binary name of KWin
set ( KWIN_NAME "kwin" )
set ( KWIN_INTERNAL_NAME_X11 "kwin_x11" )
set ( KWIN_INTERNAL_NAME_WAYLAND "kwin_wayland" )
set ( KWIN_SOURCE_DIR ${ CMAKE_CURRENT_SOURCE_DIR } )
# KWIN_HAVE_XRENDER_COMPOSITING - whether XRender-based compositing support is available: may be disabled
if ( KWIN_BUILD_XRENDER_COMPOSITING )
set ( KWIN_HAVE_XRENDER_COMPOSITING 1 )
endif ( )
include_directories ( ${ XKB_INCLUDE_DIR } )
include_directories ( ${ epoxy_INCLUDE_DIR } )
set ( HAVE_EPOXY_GLX ${ epoxy_HAS_GLX } )
# for things that are also used by kwin libraries
configure_file ( libkwineffects/kwinconfig.h.cmake ${ CMAKE_CURRENT_BINARY_DIR } /libkwineffects/kwinconfig.h )
# for kwin internal things
set ( HAVE_X11_XCB ${ X11_XCB_FOUND } )
include ( CheckIncludeFile )
include ( CheckIncludeFiles )
include ( CheckSymbolExists )
check_include_files ( unistd.h HAVE_UNISTD_H )
check_include_files ( malloc.h HAVE_MALLOC_H )
check_include_file ( "sys/prctl.h" HAVE_SYS_PRCTL_H )
check_symbol_exists ( PR_SET_DUMPABLE "sys/prctl.h" HAVE_PR_SET_DUMPABLE )
add_feature_info ( "prctl-dumpable" HAVE_PR_SET_DUMPABLE "Required for disallow ptrace on greeter and kcheckpass process" )
configure_file ( config-kwin.h.cmake ${ CMAKE_CURRENT_BINARY_DIR } /config-kwin.h )
########### global ###############
set ( kwin_effects_dbus_xml ${ CMAKE_CURRENT_SOURCE_DIR } /org.kde.kwin.Effects.xml )
include_directories ( BEFORE
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / l i b k w i n e f f e c t s
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R }
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / l i b k w i n e f f e c t s
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / e f f e c t s
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / t a b b o x
)
add_subdirectory ( libkwineffects )
add_subdirectory ( killer )
if ( KWIN_BUILD_KCMS )
add_subdirectory ( kcmkwin )
endif ( )
if ( KWIN_BUILD_DECORATIONS )
add_subdirectory ( clients )
endif ( )
add_subdirectory ( data )
add_subdirectory ( effects )
add_subdirectory ( scripts )
add_subdirectory ( tabbox )
add_subdirectory ( scripting )
add_definitions ( -DKDE_DEFAULT_DEBUG_AREA=1212 )
########### next target ###############
set ( kwin_KDEINIT_SRCS
w o r k s p a c e . c p p
d b u s i n t e r f a c e . c p p
a b s t r a c t _ c l i e n t . c p p
c l i e n t . c p p
c l i e n t _ m a c h i n e . c p p
c u r s o r . c p p
t a b g r o u p . c p p
f o c u s c h a i n . c p p
g l o b a l s h o r t c u t s . c p p
i n p u t . c p p
n e t i n f o . c p p
p l a c e m e n t . c p p
a t o m s . c p p
u t i l s . c p p
l a y e r s . c p p
m a i n . c p p
o p t i o n s . c p p
o u t l i n e . c p p
e v e n t s . c p p
k i l l w i n d o w . c p p
g e o m e t r y t i p . c p p
s c r e e n s . c p p
s c r e e n s _ x r a n d r . c p p
s h a d o w . c p p
s m . c p p
g r o u p . c p p
m a n a g e . c p p
o v e r l a y w i n d o w . c p p
a c t i v a t i o n . c p p
u s e r a c t i o n s . c p p
g e o m e t r y . c p p
r u l e s . c p p
c o m p o s i t e . c p p
t o p l e v e l . c p p
u n m a n a g e d . c p p
s c e n e . c p p
s c e n e _ x r e n d e r . c p p
s c e n e _ o p e n g l . c p p
s c e n e _ q p a i n t e r . c p p
t h u m b n a i l i t e m . c p p
l a n c z o s f i l t e r . c p p
d e l e t e d . c p p
e f f e c t s . c p p
e f f e c t l o a d e r . c p p
c o m p o s i t i n g p r e f s . c p p
v i r t u a l d e s k t o p s . c p p
x c b u t i l s . c p p
x 1 1 e v e n t f i l t e r . c p p
l o g i n d . c p p
s c r e e n e d g e . c p p
s c r i p t i n g / s c r i p t i n g . c p p
s c r i p t i n g / w o r k s p a c e _ w r a p p e r . c p p
s c r i p t i n g / m e t a . c p p
s c r i p t i n g / s c r i p t e d e f f e c t . c p p
s c r i p t i n g / s c r i p t i n g u t i l s . c p p
s c r i p t i n g / t i m e r . c p p
s c r i p t i n g / s c r i p t i n g _ m o d e l . c p p
s c r i p t i n g / d b u s c a l l . c p p
s c r i p t i n g / s c r e e n e d g e i t e m . c p p
s c r i p t i n g / s c r i p t i n g _ l o g g i n g . c p p
d e c o r a t i o n s / d e c o r a t e d c l i e n t . c p p
d e c o r a t i o n s / d e c o r a t i o n b r i d g e . c p p
d e c o r a t i o n s / d e c o r a t i o n p a l e t t e . c p p
d e c o r a t i o n s / s e t t i n g s . c p p
d e c o r a t i o n s / d e c o r a t i o n r e n d e r e r . c p p
d e c o r a t i o n s / d e c o r a t i o n s _ l o g g i n g . c p p
a b s t r a c t _ e g l _ b a c k e n d . c p p
e g l o n x b a c k e n d . c p p
a b s t r a c t _ b a c k e n d . c p p
s h e l l _ c l i e n t . c p p
w a y l a n d _ s e r v e r . c p p
w a y l a n d _ c u r s o r _ t h e m e . c p p
)
if ( HAVE_EPOXY_GLX )
set ( kwin_KDEINIT_SRCS ${ kwin_KDEINIT_SRCS } glxbackend.cpp )
endif ( )
if ( KWIN_BUILD_TABBOX )
set (
k w i n _ K D E I N I T _ S R C S $ { k w i n _ K D E I N I T _ S R C S }
t a b b o x / t a b b o x . c p p
t a b b o x / c l i e n t m o d e l . c p p
t a b b o x / d e s k t o p c h a i n . c p p
t a b b o x / d e s k t o p m o d e l . c p p
t a b b o x / s w i t c h e r i t e m . c p p
t a b b o x / t a b b o x c o n f i g . c p p
t a b b o x / t a b b o x h a n d l e r . c p p
t a b b o x / t a b b o x _ l o g g i n g . c p p
)
endif ( )
if ( KWIN_BUILD_ACTIVITIES )
set (
k w i n _ K D E I N I T _ S R C S $ { k w i n _ K D E I N I T _ S R C S }
a c t i v i t i e s . c p p
)
endif ( )
if ( UDEV_FOUND )
set ( kwin_KDEINIT_SRCS
$ { k w i n _ K D E I N I T _ S R C S }
u d e v . c p p
)
endif ( )
if ( HAVE_INPUT )
set ( kwin_KDEINIT_SRCS
$ { k w i n _ K D E I N I T _ S R C S }
l i b i n p u t / c o n t e x t . c p p
l i b i n p u t / c o n n e c t i o n . c p p
l i b i n p u t / e v e n t s . c p p
l i b i n p u t / l i b i n p u t _ l o g g i n g . c p p
v i r t u a l _ t e r m i n a l . c p p
)
endif ( )
kconfig_add_kcfg_files ( kwin_KDEINIT_SRCS settings.kcfgc )
qt5_add_dbus_adaptor ( kwin_KDEINIT_SRCS org.kde.KWin.xml dbusinterface.h KWin::DBusInterface )
qt5_add_dbus_adaptor ( kwin_KDEINIT_SRCS org.kde.kwin.Compositing.xml dbusinterface.h KWin::CompositorDBusInterface )
qt5_add_dbus_adaptor ( kwin_KDEINIT_SRCS ${ kwin_effects_dbus_xml } effects.h KWin::EffectsHandlerImpl )
qt5_add_dbus_interface ( kwin_KDEINIT_SRCS ${ CMAKE_CURRENT_SOURCE_DIR } /org.freedesktop.ScreenSaver.xml screenlocker_interface )
qt5_add_resources ( kwin_KDEINIT_SRCS resources.qrc )
ki18n_wrap_ui ( kwin_KDEINIT_SRCS
s h o r t c u t d i a l o g . u i
)
########### target link libraries ###############
set ( kwin_OWN_LIBS
k w i n e f f e c t s
k w i n x r e n d e r u t i l s
k w i n 4 _ e f f e c t _ b u i l t i n s
)
set ( kwin_QT_LIBS
Q t 5 : : C o n c u r r e n t
Q t 5 : : D B u s
Q t 5 : : Q u i c k
Q t 5 : : S c r i p t
Q t 5 : : X 1 1 E x t r a s
)
set ( kwin_KDE_LIBS
K F 5 : : C o n f i g C o r e
K F 5 : : C o r e A d d o n s
K F 5 : : C o n f i g W i d g e t s
K F 5 : : C r a s h
K F 5 : : G l o b a l A c c e l
K F 5 : : G l o b a l A c c e l P r i v a t e
K F 5 : : I 1 8 n
K F 5 : : N o t i f i c a t i o n s
K F 5 : : P a c k a g e
K F 5 : : P l a s m a
K F 5 : : W i n d o w S y s t e m
K D e c o r a t i o n 2 : : K D e c o r a t i o n
K D e c o r a t i o n 2 : : K D e c o r a t i o n 2 P r i v a t e
P W : : K S c r e e n L o c k e r
)
set ( kwin_XLIB_LIBS
$ { X 1 1 _ X 1 1 _ L I B }
$ { X 1 1 _ I C E _ L I B }
$ { X 1 1 _ S M _ L I B }
)
set ( kwin_XCB_LIBS
X C B : : X C B
X C B : : X F I X E S
X C B : : D A M A G E
X C B : : C O M P O S I T E
X C B : : S H A P E
X C B : : S Y N C
X C B : : R E N D E R
X C B : : R A N D R
X C B : : K E Y S Y M S
X C B : : S H M
X C B : : G L X
X C B : : C U R S O R
)
set ( kwin_WAYLAND_LIBS
X K B : : X K B
K F 5 : : W a y l a n d C l i e n t
K F 5 : : W a y l a n d S e r v e r
W a y l a n d : : C u r s o r
$ { C M A K E _ T H R E A D _ L I B S _ I N I T }
)
if ( KWIN_BUILD_ACTIVITIES )
set ( kwin_KDE_LIBS ${ kwin_KDE_LIBS } KF5::Activities )
endif ( )
set ( kwinLibs
$ { k w i n _ O W N _ L I B S }
$ { k w i n _ Q T _ L I B S }
$ { k w i n _ K D E _ L I B S }
$ { k w i n _ X L I B _ L I B S }
$ { k w i n _ X C B _ L I B S }
$ { k w i n _ W A Y L A N D _ L I B S }
)
if ( UDEV_FOUND )
set ( kwinLibs ${ kwinLibs } ${ UDEV_LIBS } )
endif ( )
if ( HAVE_INPUT )
set ( kwinLibs ${ kwinLibs } Libinput::Libinput )
endif ( )
add_library ( kwin SHARED ${ kwin_KDEINIT_SRCS } )
set_target_properties ( kwin PROPERTIES
V E R S I O N $ { P R O J E C T _ V E R S I O N }
S O V E R S I O N $ { P R O J E C T _ V E R S I O N _ M A J O R }
)
target_link_libraries ( kwin ${ kwinLibs } )
generate_export_header ( kwin EXPORT_FILE_NAME kwin_export.h )
target_link_libraries ( kwin kwinglutils ${ epoxy_LIBRARY } )
# -ldl used by OpenGL code
find_library ( DL_LIBRARY dl )
if ( DL_LIBRARY )
target_link_libraries ( kwin ${ DL_LIBRARY } )
endif ( )
kf5_add_kdeinit_executable ( kwin_x11 main_x11.cpp )
target_link_libraries ( kdeinit_kwin_x11 kwin )
install ( TARGETS kwin ${ INSTALL_TARGETS_DEFAULT_ARGS } LIBRARY NAMELINK_SKIP )
install ( TARGETS kdeinit_kwin_x11 ${ INSTALL_TARGETS_DEFAULT_ARGS } )
install ( TARGETS kwin_x11 ${ INSTALL_TARGETS_DEFAULT_ARGS } )
add_executable ( kwin_wayland main_wayland.cpp )
target_link_libraries ( kwin_wayland kwin )
install ( TARGETS kwin_wayland ${ INSTALL_TARGETS_DEFAULT_ARGS } )
add_subdirectory ( backends )
add_subdirectory ( plugins )
########### install files ###############
install ( FILES kwin.kcfg DESTINATION ${ KCFG_INSTALL_DIR } RENAME ${ KWIN_NAME } .kcfg )
install ( FILES kwin.notifyrc DESTINATION ${ KNOTIFYRC_INSTALL_DIR } RENAME ${ KWIN_NAME } .notifyrc )
install (
F I L E S
o r g . k d e . K W i n . x m l
o r g . k d e . k w i n . C o m p o s i t i n g . x m l
o r g . k d e . k w i n . E f f e c t s . x m l
D E S T I N A T I O N
$ { K D E _ I N S T A L L _ D B U S I N T E R F A C E D I R }
)
install ( FILES ${ CMAKE_CURRENT_BINARY_DIR } /kwin_export.h DESTINATION ${ INCLUDE_INSTALL_DIR } COMPONENT Devel )
# Install the KWin/Script service type
install ( FILES scripting/kwinscript.desktop DESTINATION ${ SERVICETYPES_INSTALL_DIR } )
ecm_install_icons (
I C O N S
1 6 - a p p s - k w i n . p n g
3 2 - a p p s - k w i n . p n g
4 8 - a p p s - k w i n . p n g
s c - a p p s - k w i n . s v g z
D E S T I N A T I O N
$ { I C O N _ I N S T A L L _ D I R }
T H E M E
h i c o l o r
)
add_subdirectory ( qml )
add_subdirectory ( autotests )
add_subdirectory ( tests )
if ( KF5DocTools_FOUND )
add_subdirectory ( doc )
endif ( )
feature_summary ( WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES )
include ( ECMPackageConfigHelpers )
set ( CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KWinDBusInterface" )
ecm_configure_package_config_file ( KWinDBusInterfaceConfig.cmake.in
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / K W i n D B u s I n t e r f a c e C o n f i g . c m a k e "
P A T H _ V A R S K D E _ I N S T A L L _ D B U S I N T E R F A C E D I R
I N S T A L L _ D E S T I N A T I O N $ { C M A K E C O N F I G _ I N S T A L L _ D I R } )
install ( FILES ${ CMAKE_CURRENT_BINARY_DIR } /KWinDBusInterfaceConfig.cmake
D E S T I N A T I O N $ { C M A K E C O N F I G _ I N S T A L L _ D I R } )