include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDECLARATIVE_INCLUDE_DIR} # for kworkspace_export.h ${CMAKE_BINARY_DIR}/libs/kworkspace ) add_subdirectory( kcm ) if(ENABLE_TESTING) add_subdirectory(tests) endif() add_subdirectory( screenlocker ) set(COMPILE_SCREEN_LOCKER 1) set(SCREEN_LOCKER "screenlocker_static") check_library_exists(ICE _IceTransNoListen "" HAVE__ICETRANSNOLISTEN) configure_file(config-ksmserver.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksmserver.h) ########### next target ############### set(ksmserver_SRCS main.cpp server.cpp shutdowndlg.cpp legacy.cpp startup.cpp shutdown.cpp client.cpp logouteffect.cpp fadeeffect.cpp curtaineffect.cpp) INCLUDE(CheckCCompilerFlag) CHECK_CXX_COMPILER_FLAG(-mmmx HAVE_MMMX) if (HAVE_MMMX) SET_SOURCE_FILES_PROPERTIES(fadeeffect.cpp PROPERTIES COMPILE_FLAGS -mmmx) endif (HAVE_MMMX) set(kcminit_adaptor ${CMAKE_CURRENT_SOURCE_DIR}/../kcminit/main.h) set(kcminit_xml ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KCMinit.xml) add_custom_command(OUTPUT ${kcminit_xml} COMMAND ${QT_DBUSCPP2XML_EXECUTABLE} ${kcminit_adaptor} > ${kcminit_xml} DEPENDS ${kcminit_adaptor}) qt4_add_dbus_interface( ksmserver_SRCS ${kcminit_xml} kcminit_interface ) # This is actually now disabled, because OrgKDEKlauncherInterface is also provided # by kdecore, it is not autogenerated and is not binary compatible with a currently # generated version, thus at certain circumstances leading to strange crashes. # This should be fixed for KDE5. # KLauchner.xml is installed by kdelibs, so it is in KDE4_DBUS_INTERFACES_INSTALL_DIR # set(klauncher_xml ${KDE4_DBUS_INTERFACES_INSTALL_DIR}/org.kde.KLauncher.xml) # qt4_add_dbus_interface( ksmserver_SRCS ${klauncher_xml} klauncher_interface ) qt4_add_dbus_adaptor( ksmserver_SRCS org.kde.KSMServerInterface.xml server.h KSMServer ) add_executable( ksmserver ${ksmserver_SRCS}) target_link_libraries(ksmserver ${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS} ${KDE4_KDECLARATIVE_LIBS} ${QT_QTDECLARATIVE_LIBRARY} ${X11_LIBRARIES} ${X11_Xrender_LIB} ${SCREEN_LOCKER} kworkspace ) install(TARGETS ksmserver ${INSTALL_TARGETS_DEFAULT_ARGS}) ########### next target ############### set(kcheckrunning_SRCS kcheckrunning.cpp) add_executable( kcheckrunning ${kcheckrunning_SRCS}) target_link_libraries(kcheckrunning ${X11_LIBRARIES}) install(TARGETS kcheckrunning ${INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### install( FILES org.kde.KSMServerInterface.xml DESTINATION ${KDE4_DBUS_INTERFACES_INSTALL_DIR}) install( DIRECTORY themes/ DESTINATION ${KDE4_DATA_INSTALL_DIR}/ksmserver/themes )