diff --git a/CMakeLists.txt b/CMakeLists.txt index 13bce65088..45651c18ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,7 @@ endif(OPENGLES_FOUND AND KWIN_HAVE_OPENGLES_COMPOSITING) OPTION(KWIN_BUILD_DECORATIONS "Enable building of KWin decorations." ON) OPTION(KWIN_BUILD_KCMS "Enable building of KWin configuration modules." ON) +OPTION(KWIN_MOBILE_EFFECTS "Only build effects relevant for mobile devices" OFF) # for things that are also used by kwin libraries configure_file(libkwineffects/kwinconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/libkwineffects/kwinconfig.h ) diff --git a/effects/CMakeLists.txt b/effects/CMakeLists.txt index 3e2be9a5d2..0312ac253e 100644 --- a/effects/CMakeLists.txt +++ b/effects/CMakeLists.txt @@ -48,70 +48,81 @@ install( FILES kwineffect.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} ) # Create initial variables set( kwin4_effect_builtins_sources ) -set( kwin4_effect_builtins_config_sources configs_builtins.cpp ) +if( NOT KWIN_MOBILE_EFFECTS ) + set( kwin4_effect_builtins_config_sources configs_builtins.cpp ) +endif( NOT KWIN_MOBILE_EFFECTS ) set( kwin4_effect_include_directories ) ############################################################################### # Built-in effects go here # Common effects -include( boxswitch/CMakeLists.txt ) -include( dashboard/CMakeLists.txt ) -include( desktopgrid/CMakeLists.txt ) include( dialogparent/CMakeLists.txt ) -include( diminactive/CMakeLists.txt ) -include( dimscreen/CMakeLists.txt ) include( fade/CMakeLists.txt ) -include( fadedesktop/CMakeLists.txt ) -include( fallapart/CMakeLists.txt ) -include( highlightwindow/CMakeLists.txt ) include( login/CMakeLists.txt ) -include( magiclamp/CMakeLists.txt ) -include( translucency/CMakeLists.txt ) -include( minimizeanimation/CMakeLists.txt ) include( outline/CMakeLists.txt ) include( presentwindows/CMakeLists.txt ) -include( resize/CMakeLists.txt ) -include( scalein/CMakeLists.txt ) -include( showfps/CMakeLists.txt ) -include( showpaint/CMakeLists.txt ) -include( slide/CMakeLists.txt ) -include( slideback/CMakeLists.txt ) include( slidingpopups/CMakeLists.txt ) include( taskbarthumbnail/CMakeLists.txt ) -include( thumbnailaside/CMakeLists.txt ) -include( windowgeometry/CMakeLists.txt ) -include( zoom/CMakeLists.txt ) -if( NOT KWIN_HAVE_OPENGLES_COMPOSITING ) -include( logout/CMakeLists.txt ) -endif( NOT KWIN_HAVE_OPENGLES_COMPOSITING ) +# Common effects only relevant to desktop +if( NOT KWIN_MOBILE_EFFECTS ) + include( boxswitch/CMakeLists.txt ) + include( dashboard/CMakeLists.txt ) + include( desktopgrid/CMakeLists.txt ) + include( diminactive/CMakeLists.txt ) + include( dimscreen/CMakeLists.txt ) + include( fadedesktop/CMakeLists.txt ) + include( fallapart/CMakeLists.txt ) + include( highlightwindow/CMakeLists.txt ) + include( magiclamp/CMakeLists.txt ) + include( translucency/CMakeLists.txt ) + include( minimizeanimation/CMakeLists.txt ) + include( resize/CMakeLists.txt ) + include( scalein/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 ) + + if( NOT KWIN_HAVE_OPENGLES_COMPOSITING ) + include( logout/CMakeLists.txt ) + endif( NOT KWIN_HAVE_OPENGLES_COMPOSITING ) +endif( NOT KWIN_MOBILE_EFFECTS ) # OpenGL-specific effects if( KWIN_HAVE_OPENGL_COMPOSITING ) include( blur/CMakeLists.txt ) - include( coverswitch/CMakeLists.txt ) - include( cube/CMakeLists.txt ) - include( explosion/CMakeLists.txt ) - include( flipswitch/CMakeLists.txt ) - include( glide/CMakeLists.txt ) - include( invert/CMakeLists.txt ) - include( lookingglass/CMakeLists.txt ) - include( magnifier/CMakeLists.txt ) - include( mousemark/CMakeLists.txt ) include( screenshot/CMakeLists.txt ) - include( sheet/CMakeLists.txt ) - include( snaphelper/CMakeLists.txt ) - include( startupfeedback/CMakeLists.txt ) - include( trackmouse/CMakeLists.txt ) - include( wobblywindows/CMakeLists.txt ) + # OpenGL-specific effects for desktop + if( NOT KWIN_MOBILE_EFFECTS ) + include( coverswitch/CMakeLists.txt ) + include( cube/CMakeLists.txt ) + include( explosion/CMakeLists.txt ) + include( flipswitch/CMakeLists.txt ) + include( glide/CMakeLists.txt ) + include( invert/CMakeLists.txt ) + include( lookingglass/CMakeLists.txt ) + include( magnifier/CMakeLists.txt ) + include( mousemark/CMakeLists.txt ) + include( sheet/CMakeLists.txt ) + include( snaphelper/CMakeLists.txt ) + include( startupfeedback/CMakeLists.txt ) + include( trackmouse/CMakeLists.txt ) + include( wobblywindows/CMakeLists.txt ) + endif( NOT KWIN_MOBILE_EFFECTS ) endif( KWIN_HAVE_OPENGL_COMPOSITING ) ############################################################################### # Add the builtins plugin KWIN4_ADD_EFFECT( builtins ${kwin4_effect_builtins_sources} ) -KWIN4_ADD_EFFECT_CONFIG( builtins ${kwin4_effect_builtins_config_sources} ) +if( NOT KWIN_MOBILE_EFFECTS ) + KWIN4_ADD_EFFECT_CONFIG( builtins ${kwin4_effect_builtins_config_sources} ) +endif( NOT KWIN_MOBILE_EFFECTS ) KWIN4_EFFECT_LINK_XRENDER( builtins ) # Install global data files