2013-02-25 15:05:36 +04:00
|
|
|
set(kwin_effect_OWN_LIBS
|
|
|
|
kwineffects
|
|
|
|
)
|
|
|
|
|
|
|
|
set(kwin_effect_KDE_LIBS
|
2013-12-12 00:41:47 +04:00
|
|
|
KF5::ConfigCore
|
|
|
|
KF5::ConfigWidgets
|
2013-12-09 12:33:58 +04:00
|
|
|
KF5::GlobalAccel
|
2013-12-12 00:41:47 +04:00
|
|
|
KF5::I18n
|
|
|
|
KF5::WindowSystem
|
2013-10-16 03:36:24 +04:00
|
|
|
KF5::Plasma # screenedge effect
|
2013-12-12 00:41:47 +04:00
|
|
|
KF5::IconThemes
|
|
|
|
KF5::Service
|
2013-03-11 12:33:38 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
set(kwin_effect_QT_LIBS
|
2013-10-02 17:23:56 +04:00
|
|
|
Qt5::Concurrent
|
2013-08-20 11:10:18 +04:00
|
|
|
Qt5::DBus
|
|
|
|
Qt5::Quick
|
|
|
|
Qt5::X11Extras
|
2013-02-25 15:05:36 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
set(kwin_effect_XLIB_LIBS
|
2013-03-04 11:50:23 +04:00
|
|
|
${X11_X11_LIB}
|
2013-02-25 15:05:36 +04:00
|
|
|
${X11_Xcursor_LIB}
|
|
|
|
)
|
|
|
|
|
|
|
|
set(kwin_effect_XCB_LIBS
|
2013-09-04 11:36:20 +04:00
|
|
|
${XCB_XCB_LIBRARY}
|
|
|
|
${XCB_IMAGE_LIBRARY}
|
|
|
|
${XCB_XFIXES_LIBRARY}
|
2013-02-25 15:05:36 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
if( KWIN_HAVE_XRENDER_COMPOSITING )
|
|
|
|
set(kwin_effect_XCB_LIBS ${kwin_effect_XCB_LIBS} ${XCB_RENDER_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
2013-10-14 11:04:03 +04:00
|
|
|
if(KWIN_BUILD_OPENGL)
|
2013-02-25 15:05:36 +04:00
|
|
|
set(kwin_effect_OWN_LIBS ${kwin_effect_OWN_LIBS} kwinglutils)
|
2013-10-14 11:04:03 +04:00
|
|
|
elseif(KWIN_BUILD_OPENGLES)
|
2013-02-25 15:05:36 +04:00
|
|
|
set(kwin_effect_OWN_LIBS ${kwin_effect_OWN_LIBS} kwinglesutils)
|
|
|
|
endif()
|
|
|
|
|
2011-07-17 19:27:14 +04:00
|
|
|
macro( KWIN4_ADD_EFFECT_BACKEND name )
|
2013-11-27 19:09:05 +04:00
|
|
|
add_library( ${name} MODULE ${ARGN} )
|
2013-03-11 12:33:38 +04:00
|
|
|
target_link_libraries( ${name} ${kwin_effect_OWN_LIBS} ${kwin_effect_KDE_LIBS} ${kwin_effect_QT_LIBS} ${kwin_effect_XLIB_LIBS} ${kwin_effect_XCB_LIBS})
|
2013-02-25 14:44:26 +04:00
|
|
|
endmacro()
|
2007-11-02 20:28:21 +03:00
|
|
|
|
2007-04-29 21:35:43 +04:00
|
|
|
# Adds effect plugin with given name. Sources are given after the name
|
2009-02-05 18:35:38 +03:00
|
|
|
macro( KWIN4_ADD_EFFECT name )
|
2013-11-15 16:37:47 +04:00
|
|
|
kwin4_add_effect_backend(kwin4_effect_${name} ${ARGN})
|
2013-10-14 11:04:03 +04:00
|
|
|
if(KWIN_BUILD_OPENGL)
|
|
|
|
if( KWIN_BUILD_OPENGL_1_COMPOSITING )
|
|
|
|
set_target_properties(kwin4_effect_${name} PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGL_1)
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2013-10-14 11:04:03 +04:00
|
|
|
elseif(KWIN_BUILD_OPENGLES)
|
|
|
|
set_target_properties(kwin4_effect_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGLES")
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2013-10-14 11:04:03 +04:00
|
|
|
set_target_properties(kwin4_effect_${name} PROPERTIES OUTPUT_NAME ${KWIN_NAME}4_effect_${name})
|
|
|
|
install( TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
|
2011-07-17 19:27:14 +04:00
|
|
|
|
2013-02-25 14:44:26 +04:00
|
|
|
endmacro()
|
2009-02-05 18:35:38 +03:00
|
|
|
|
|
|
|
macro( KWIN4_ADD_EFFECT_CONFIG name )
|
|
|
|
set( kwin4_effect_ui ) # Initially empty
|
|
|
|
set( kwin4_effect_src ) # Initially empty
|
|
|
|
|
|
|
|
foreach( file ${ARGN} )
|
|
|
|
if( file MATCHES \\.ui )
|
|
|
|
set( kwin4_effect_ui ${kwin4_effect_ui} ${file} )
|
2013-02-25 17:47:07 +04:00
|
|
|
else()
|
2009-02-05 18:35:38 +03:00
|
|
|
set( kwin4_effect_src ${kwin4_effect_src} ${file} )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2013-02-25 14:44:26 +04:00
|
|
|
endforeach()
|
2007-04-29 21:35:43 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
kde4_add_ui_files( kwin4_effect_src ${kwin4_effect_ui} )
|
2013-11-27 19:09:05 +04:00
|
|
|
add_library( kcm_kwin4_effect_${name} MODULE ${kwin4_effect_src} )
|
2011-09-04 20:28:31 +04:00
|
|
|
if(OPENGLES_FOUND)
|
2012-10-05 11:58:15 +04:00
|
|
|
set_target_properties(kcm_kwin4_effect_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGLES")
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2013-07-24 10:14:32 +04:00
|
|
|
target_link_libraries( kcm_kwin4_effect_${name}
|
|
|
|
kwineffects
|
2013-08-20 11:10:18 +04:00
|
|
|
Qt5::Widgets
|
2013-11-27 19:09:05 +04:00
|
|
|
Qt5::Quick
|
|
|
|
KF5::KIOWidgets # KUrlRequester
|
2013-12-12 00:41:47 +04:00
|
|
|
KF5::CoreAddons
|
|
|
|
KF5::Completion
|
|
|
|
KF5::ConfigWidgets
|
2013-12-09 12:33:58 +04:00
|
|
|
KF5::GlobalAccel
|
2013-12-12 00:41:47 +04:00
|
|
|
KF5::I18n
|
2013-08-20 10:47:47 +04:00
|
|
|
KF5::XmlGui
|
2013-07-24 10:14:32 +04:00
|
|
|
)
|
2009-02-05 18:35:38 +03:00
|
|
|
install( TARGETS kcm_kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
|
2013-02-25 14:44:26 +04:00
|
|
|
endmacro()
|
2007-05-28 15:34:12 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
# Install the KWin/Effect service type
|
|
|
|
install( FILES kwineffect.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
|
2007-05-22 20:58:10 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
# Create initial variables
|
2013-11-29 09:18:28 +04:00
|
|
|
set( kwin4_effect_builtins_sources logging.cpp)
|
2011-05-10 20:25:21 +04:00
|
|
|
if( NOT KWIN_MOBILE_EFFECTS )
|
|
|
|
set( kwin4_effect_builtins_config_sources configs_builtins.cpp )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2009-02-05 18:35:38 +03:00
|
|
|
set( kwin4_effect_include_directories )
|
2007-04-29 21:35:43 +04:00
|
|
|
|
2012-02-02 17:39:39 +04:00
|
|
|
# scripted effects
|
2013-06-03 17:05:22 +04:00
|
|
|
add_subdirectory( dialogparent )
|
2012-02-02 17:39:39 +04:00
|
|
|
add_subdirectory( fade )
|
2013-01-14 11:38:18 +04:00
|
|
|
add_subdirectory( login )
|
2012-02-02 17:39:39 +04:00
|
|
|
|
2012-02-02 20:58:31 +04:00
|
|
|
# scripted effects only relevant to desktop
|
|
|
|
if( NOT KWIN_MOBILE_EFFECTS )
|
|
|
|
add_subdirectory( fadedesktop )
|
2012-10-26 13:50:44 +04:00
|
|
|
add_subdirectory( maximize )
|
2013-05-12 02:20:39 +04:00
|
|
|
add_subdirectory( scalein )
|
2013-05-31 17:31:02 +04:00
|
|
|
add_subdirectory( translucency )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2012-02-02 20:58:31 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
###############################################################################
|
|
|
|
# Built-in effects go here
|
|
|
|
|
|
|
|
# Common effects
|
2013-05-27 12:45:22 +04:00
|
|
|
include( kscreen/CMakeLists.txt )
|
2009-02-05 18:35:38 +03:00
|
|
|
include( presentwindows/CMakeLists.txt )
|
2013-01-31 16:31:49 +04:00
|
|
|
include( screenedge/CMakeLists.txt )
|
2009-07-23 23:06:50 +04:00
|
|
|
include( slidingpopups/CMakeLists.txt )
|
2009-02-05 18:35:38 +03:00
|
|
|
include( taskbarthumbnail/CMakeLists.txt )
|
2010-12-04 14:32:50 +03:00
|
|
|
|
2011-05-10 20:25:21 +04:00
|
|
|
# Common effects only relevant to desktop
|
|
|
|
if( NOT KWIN_MOBILE_EFFECTS )
|
|
|
|
include( dashboard/CMakeLists.txt )
|
|
|
|
include( desktopgrid/CMakeLists.txt )
|
|
|
|
include( diminactive/CMakeLists.txt )
|
|
|
|
include( dimscreen/CMakeLists.txt )
|
|
|
|
include( fallapart/CMakeLists.txt )
|
|
|
|
include( highlightwindow/CMakeLists.txt )
|
|
|
|
include( magiclamp/CMakeLists.txt )
|
|
|
|
include( minimizeanimation/CMakeLists.txt )
|
|
|
|
include( resize/CMakeLists.txt )
|
|
|
|
include( showfps/CMakeLists.txt )
|
|
|
|
include( showpaint/CMakeLists.txt )
|
|
|
|
include( slide/CMakeLists.txt )
|
|
|
|
include( slideback/CMakeLists.txt )
|
|
|
|
include( thumbnailaside/CMakeLists.txt )
|
|
|
|
include( windowgeometry/CMakeLists.txt )
|
|
|
|
include( zoom/CMakeLists.txt )
|
|
|
|
include( logout/CMakeLists.txt )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2007-10-21 17:44:40 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
# OpenGL-specific effects
|
2011-08-13 17:21:51 +04:00
|
|
|
include( blur/CMakeLists.txt )
|
2013-12-01 23:28:57 +04:00
|
|
|
include( backgroundcontrast/CMakeLists.txt )
|
2011-08-13 17:21:51 +04:00
|
|
|
include( screenshot/CMakeLists.txt )
|
|
|
|
# OpenGL-specific effects for desktop
|
|
|
|
if( NOT KWIN_MOBILE_EFFECTS )
|
|
|
|
include( coverswitch/CMakeLists.txt )
|
|
|
|
include( cube/CMakeLists.txt )
|
|
|
|
include( flipswitch/CMakeLists.txt )
|
|
|
|
include( glide/CMakeLists.txt )
|
|
|
|
include( invert/CMakeLists.txt )
|
|
|
|
include( lookingglass/CMakeLists.txt )
|
2011-08-20 12:53:36 +04:00
|
|
|
include( magnifier/CMakeLists.txt )
|
2012-07-27 09:58:21 +04:00
|
|
|
include( mouseclick/CMakeLists.txt )
|
2011-08-13 17:21:51 +04:00
|
|
|
include( mousemark/CMakeLists.txt )
|
|
|
|
include( sheet/CMakeLists.txt )
|
|
|
|
include( snaphelper/CMakeLists.txt )
|
|
|
|
include( startupfeedback/CMakeLists.txt )
|
|
|
|
include( trackmouse/CMakeLists.txt )
|
|
|
|
include( wobblywindows/CMakeLists.txt )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|
2007-04-29 21:35:43 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
###############################################################################
|
2007-04-29 21:35:43 +04:00
|
|
|
|
2009-02-05 18:35:38 +03:00
|
|
|
# Add the builtins plugin
|
2013-11-15 16:37:47 +04:00
|
|
|
kwin4_add_effect( builtins ${kwin4_effect_builtins_sources} )
|
2011-05-10 20:25:21 +04:00
|
|
|
if( NOT KWIN_MOBILE_EFFECTS )
|
2013-11-15 16:37:47 +04:00
|
|
|
kwin4_add_effect_config( builtins ${kwin4_effect_builtins_config_sources} )
|
2013-02-25 14:14:56 +04:00
|
|
|
endif()
|