mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 10:52:51 +00:00
146 lines
3.6 KiB
CMake
146 lines
3.6 KiB
CMake
SET(CMAKE_REQUIRED_LIBRARIES -lXi)
|
|
CHECK_FUNCTION_EXISTS(_XiGetDevicePresenceNotifyEvent XiGetDevicePresenceNotifyEvent_EXISTS)
|
|
|
|
if( X11_Xinput_FOUND AND XiGetDevicePresenceNotifyEvent_EXISTS )
|
|
set(XiGetDevicePresence_FOUND 1)
|
|
ADD_DEFINITIONS(-DHAVE_XINPUT_AND_DEVICE_NOTIFY=1)
|
|
else( X11_Xinput_FOUND AND XiGetDevicePresenceNotifyEvent_EXISTS )
|
|
MESSAGE(STATUS "_XiGetDevicePresenceNotifyEvent is not found, libXi version 1.2.0 or later is required to keep layouts with keyboard hotplugging")
|
|
endif( X11_Xinput_FOUND AND XiGetDevicePresenceNotifyEvent_EXISTS )
|
|
|
|
set ( text_paint_LIB ${KDE4_PLASMA_LIBS} )
|
|
|
|
|
|
|
|
### kded daemon ###
|
|
|
|
set( kded_keyboard_SRCS
|
|
keyboard_daemon.cpp
|
|
layout_memory.cpp
|
|
layout_memory_persister.cpp
|
|
x11_helper.cpp
|
|
xinput_helper.cpp
|
|
xkb_helper.cpp
|
|
keyboard_config.cpp
|
|
keyboard_hardware.cpp
|
|
numlockx.c
|
|
bindings.cpp
|
|
# next are temporary for sys tray UI
|
|
layout_tray_icon.cpp
|
|
layouts_menu.cpp
|
|
flags.cpp
|
|
xkb_rules.cpp
|
|
)
|
|
|
|
kde4_add_plugin(kded_keyboard ${kded_keyboard_SRCS})
|
|
|
|
target_link_libraries(kded_keyboard
|
|
${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBS} ${X11_LIBRARIES}
|
|
${text_paint_LIB}
|
|
${QT_QTXML_LIBRARY} ${X11_Xkbfile_LIB}
|
|
)
|
|
|
|
if(X11_XTest_FOUND)
|
|
target_link_libraries(kded_keyboard ${X11_XTest_LIB})
|
|
endif(X11_XTest_FOUND)
|
|
|
|
if(XiGetDevicePresence_FOUND)
|
|
target_link_libraries(kded_keyboard ${X11_Xinput_LIB})
|
|
endif(XiGetDevicePresence_FOUND)
|
|
|
|
install( TARGETS kded_keyboard DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
install( FILES keyboard.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded )
|
|
|
|
|
|
### plasma applet ###
|
|
|
|
set( plasma_applet_keyboard_SRCS
|
|
keyboard_applet.cpp
|
|
flags.cpp
|
|
keyboard_config.cpp
|
|
xkb_rules.cpp
|
|
x11_helper.cpp
|
|
xkb_helper.cpp
|
|
layouts_menu.cpp
|
|
)
|
|
|
|
kde4_add_plugin(plasma_applet_keyboard ${plasma_applet_keyboard_SRCS})
|
|
|
|
target_link_libraries(plasma_applet_keyboard
|
|
${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS} ${QT_QTXML_LIBRARY} ${X11_Xkbfile_LIB} ${X11_LIBRARIES}
|
|
${text_paint_LIB}
|
|
)
|
|
|
|
install( TARGETS plasma_applet_keyboard DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
install( FILES plasma_applet_keyboard.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
|
|
|
|
|
### widget lib ###
|
|
|
|
set( keyboard_layout_widget_SRCS
|
|
layout_widget.cpp
|
|
keyboard_config.cpp
|
|
flags.cpp
|
|
x11_helper.cpp
|
|
xkb_helper.cpp
|
|
)
|
|
|
|
# MODULE?
|
|
kde4_add_plugin(keyboard_layout_widget ${keyboard_layout_widget_SRCS})
|
|
|
|
target_link_libraries(keyboard_layout_widget
|
|
${KDE4_KDEUI_LIBS} ${X11_LIBRARIES}
|
|
${text_paint_LIB}
|
|
${QT_QTXML_LIBRARY} ${X11_Xkbfile_LIB}
|
|
)
|
|
|
|
install( TARGETS keyboard_layout_widget DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
|
|
|
|
### kcm keyboard ###
|
|
include_directories("preview")
|
|
|
|
set(kcm_keyboard_PART_SRCS
|
|
kcm_keyboard.cpp
|
|
kcm_keyboard_widget.cpp
|
|
kcm_view_models.cpp
|
|
kcm_add_layout_dialog.cpp
|
|
keyboard_config.cpp
|
|
x11_helper.cpp
|
|
xkb_helper.cpp
|
|
xkb_rules.cpp
|
|
flags.cpp
|
|
iso_codes.cpp
|
|
kcmmisc.cpp
|
|
bindings.cpp
|
|
preview/keyaliases.cpp
|
|
preview/keyboardlayout.cpp
|
|
preview/keyboardpainter.cpp
|
|
preview/keysymbols.cpp
|
|
preview/keysymhelper.cpp
|
|
preview/kbpreviewframe.cpp
|
|
preview/keysym2ucs.cpp
|
|
)
|
|
|
|
|
|
kde4_add_ui_files(kcm_keyboard_PART_SRCS kcm_keyboard.ui kcm_add_layout_dialog.ui kcmmiscwidget.ui)
|
|
|
|
kde4_add_plugin(kcm_keyboard ${kcm_keyboard_PART_SRCS})
|
|
|
|
target_link_libraries(kcm_keyboard
|
|
${KDE4_KIO_LIBS} ${X11_Xkbfile_LIB} ${X11_LIBRARIES}
|
|
${text_paint_LIB}
|
|
)
|
|
|
|
install(TARGETS kcm_keyboard DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
|
|
install( FILES kcm_keyboard.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
|
|
|
# Images
|
|
|
|
add_subdirectory( pics )
|
|
|
|
|
|
# Unit tests
|
|
|
|
add_subdirectory( tests )
|