summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2012-06-10 15:58:19 +0200
committerSlávek Banko <slavek.banko@axis.cz>2012-06-10 15:58:19 +0200
commit80deb52955cbd917e10f015f37699d830cb681ce (patch)
tree781acfeaeb317766dc5d0d16e985e274df45ed98
parente12ae2b6508702daa1f2c50e1bec3e006a44249a (diff)
downloadtdebase-80deb52955cbd917e10f015f37699d830cb681ce.tar.gz
tdebase-80deb52955cbd917e10f015f37699d830cb681ce.zip
Add xscreensaver support to CMake
This closes Bug 859
-rw-r--r--CMakeLists.txt1
-rw-r--r--ConfigureChecks.cmake20
-rw-r--r--config.h.cmake3
-rw-r--r--kdesktop/CMakeLists.txt1
4 files changed, 25 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31fb46c43..3da5b2f63 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,6 +68,7 @@ option( WITH_XRENDER "Enable xrender support" ${WITH_ALL_OPTIONS} )
option( WITH_XDAMAGE "Enable xdamage support" ${WITH_ALL_OPTIONS} )
option( WITH_XEXT "Enable xext support" ${WITH_ALL_OPTIONS} )
option( WITH_XTEST "Enable xext support" ${WITH_ALL_OPTIONS} )
+option( WITH_XSCREENSAVER "Enable xscreensaver support" ${WITH_ALL_OPTIONS} )
option( WITH_LIBART "Enable libart support (for SVG icons and wallpapers)" ${WITH_ALL_OPTIONS} )
option( WITH_LIBUSB "Enable control of some mouse models through libusb" ${WITH_ALL_OPTIONS} )
option( WITH_LIBRAW1394 "Enable visualization of ieee1394 devices through libraw1394" ${WITH_ALL_OPTIONS} )
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index ded1d0025..1d9c83d71 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -144,6 +144,26 @@ if( WITH_XTEST )
endif( )
+# xscreensaver ()
+if( WITH_XSCREENSAVER )
+ check_library_exists( Xss XScreenSaverQueryInfo "" HAVE_XSSLIB )
+ if( HAVE_XSSLIB )
+ pkg_search_module( XSS xscrnsaver )
+ else( )
+ check_library_exists( Xext XScreenSaverQueryInfo "" HAVE_XSSLIB )
+ if( HAVE_XSSLIB )
+ pkg_search_module( XSS xext )
+ endif( )
+ endif( )
+ check_include_file( X11/extensions/scrnsaver.h HAVE_XSCREENSAVER_H )
+ if( HAVE_XSSLIB AND HAVE_XSCREENSAVER_H )
+ set( HAVE_XSCREENSAVER 1 )
+ else( )
+ tde_message_fatal( "xscreensaver is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+
# GL
if( BUILD_KDESKTOP OR BUILD_KCONTROL OR BUILD_KSCREENSAVER )
check_library_exists( GL glXChooseVisual "" HAVE_GLXCHOOSEVISUAL )
diff --git a/config.h.cmake b/config.h.cmake
index 39d6d8528..772ca8840 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -24,6 +24,9 @@
// kxkb
#cmakedefine HAVE_XTEST 1
+// xscreensaver
+#cmakedefine HAVE_XSCREENSAVER 1
+
// libart
#cmakedefine HAVE_LIBART 1
diff --git a/kdesktop/CMakeLists.txt b/kdesktop/CMakeLists.txt
index 99d86d13a..b2e462853 100644
--- a/kdesktop/CMakeLists.txt
+++ b/kdesktop/CMakeLists.txt
@@ -94,6 +94,7 @@ tde_add_tdeinit_executable( ${target} AUTOMOC
kdesktopsettings-static bgnd-static dmctl-static
konq-shared kutils-shared
${XRENDER_LIBRARIES} ${XCURSOR_LIBRARIES} Xext dl
+ ${XSS_LIBRARIES}
)