kde-workspace/ksmserver/CMakeLists.txt
Ivailo Monev c547dd7a57 generic: fix most of the overlinking issues
see commit in kdelibs repository

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-10 00:23:28 +00:00

89 lines
2.6 KiB
CMake

add_subdirectory( kcm )
include_directories(
${CMAKE_SOURCE_DIR}/libs
${KDECLARATIVE_INCLUDE_DIR}
)
if(ENABLE_TESTING)
add_subdirectory(tests)
endif()
macro_optional_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_DIR
# set(klauncher_xml ${KDE4_DBUS_INTERFACES_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 )