1 add_subdirectory( pics )
2 #add_subdirectory( tests )
3 KDE4_NO_ENABLE_FINAL(kxkb)
5 OPTION(USE_XKLAVIER "Use libxklavier to get keyboard layouts configuration" ON)
7 MESSAGE(STATUS "option: USE_XKLAVIER <${USE_XKLAVIER}>")
9 if( USE_XKLAVIER STREQUAL ON )
11 macro_optional_find_package(LibXKlavier)
12 macro_optional_find_package(GLIB2)
13 macro_optional_find_package(GObject)
15 if(LIBXKLAVIER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND)
16 SET(HAVE_XKLAVIER TRUE)
18 SET(CMAKE_REQUIRED_DEFINITIONS ${LIBXKLAVIER_DEFINITIONS})
19 SET(CMAKE_REQUIRED_LIBRARIES ${LIBXKLAVIER_LIBRARIES})
21 SET(XKB_SUPPORT_SRC xklavier_adaptor.cpp)
22 SET(XKB_SUPPORT_LIB ${LIBXKLAVIER_LIBRARIES} ${GOBJECT_LIBRARIES})
23 ADD_DEFINITIONS(-DHAVE_XKLAVIER=1 ${LIBXKLAVIER_DEFINITIONS} ${_LibGLIB2Cflags})
24 include_directories(${GLIB2_INCLUDE_DIR})
26 else(LIBXKLAVIER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND)
27 MESSAGE (STATUS "kxkb: Could not find libxklavier >= 3.0, glib or gobject, will try xkbfile...")
28 endif(LIBXKLAVIER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND)
30 endif( USE_XKLAVIER STREQUAL ON )
32 if( NOT HAVE_XKLAVIER )
34 if (NOT X11_Xkbfile_FOUND)
35 MESSAGE (STATUS "Could not find xkbfile - kxkb won't be built!")
36 macro_log_feature (FALSE "libxklavier" "Could not find libxklavier or xkbfile - kxkb won't be built!" "http://freedesktop.org/wiki/Software/LibXklavier")
37 else (NOT X11_Xkbfile_FOUND)
38 SET(XKB_SUPPORT_LIB ${X11_Xkbfile_LIB})
39 MESSAGE (STATUS "Using xkbfile for getting keyboard layouts is not well maintained, please consider installing libxklavier.")
40 macro_log_feature (TRUE "libxklavier" "Using xkbfile for getting keyboard layouts is not well maintained, please consider installing libxklavier." "http://freedesktop.org/wiki/Software/LibXklavier")
41 endif (NOT X11_Xkbfile_FOUND)
43 endif( NOT HAVE_XKLAVIER )
46 if (X11_Xkbfile_FOUND OR HAVE_XKLAVIER)
48 #MESSAGE("xkb support libs:: ${XKB_SUPPORT_LIB}")
52 ########### common sources ############
64 ########### KCM ###############
66 set(kcm_keyboard_layout_PART_SRCS
71 kde4_add_ui_files(kcm_keyboard_layout_PART_SRCS kcmlayoutwidget.ui )
73 kde4_add_plugin(kcm_keyboard_layout ${kcm_keyboard_layout_PART_SRCS})
75 target_link_libraries(kcm_keyboard_layout ${KDE4_KIO_LIBS}
80 target_link_libraries(kcm_keyboard_layout ${X11_XTest_LIB})
81 endif(X11_XTest_FOUND)
83 install(TARGETS kcm_keyboard_layout DESTINATION ${PLUGIN_INSTALL_DIR} )
84 install( FILES keyboard_layout.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
87 ########### KXKB kdeinit ###############
89 set(kxkb_KDEINIT_SRCS ${kxkb_COMMON_SRCS}
98 kde4_add_kdeinit_executable( kxkb ${kxkb_KDEINIT_SRCS})
100 target_link_libraries(kdeinit_kxkb ${X11_X11_LIB} ${X11_Xext_LIB} ${KDE4_KDEUI_LIBS}
103 install(TARGETS kdeinit_kxkb DESTINATION ${LIB_INSTALL_DIR} )
105 target_link_libraries( kxkb kdeinit_kxkb )
106 install(TARGETS kxkb DESTINATION ${BIN_INSTALL_DIR})
107 #install(FILES kxkb_component.h DESTINATION ${INCLUDE_INSTALL_DIR})
110 ########### KXKB Plasma Applet ###############
112 if( FALSE ) # don't generate applet - it's not finished yet
114 set(plasma_applet_kxkb_SRCS kxkb_applet.cpp ${kxkb_COMMON_SRCS}
120 kde4_add_plugin(plasma_applet_kxkb ${plasma_applet_kxkb_SRCS})
122 target_link_libraries(plasma_applet_kxkb plasma
123 ${KDE4_KDEUI_LIBS} ${XKB_SUPPORT_LIB})
126 target_link_libraries(plasma_applet_kxkb ${X11_XTest_LIB})
127 endif(X11_XTest_FOUND)
129 install(TARGETS plasma_applet_kxkb DESTINATION ${PLUGIN_INSTALL_DIR} )
130 install(FILES plasma-applet-kxkb.desktop DESTINATION ${SERVICES_INSTALL_DIR})
132 ADD_DEPENDENCIES(plasma_applet_kxkb kdeinit_kxkb)
136 ########### KXKB KPart ###############
137 # we're not using KPart for now - it's too heavy
139 #set(kxkb_part_PART_SRCS kxkb_part.cpp)
141 #kde4_add_plugin(kxkb_part ${kxkb_part_PART_SRCS})
143 #target_link_libraries(kxkb_part kdeinit_kxkb
148 # target_link_libraries(kxkb_part ${X11_XTest_LIB})
149 #endif(X11_XTest_FOUND)
151 #install( TARGETS kxkb_part DESTINATION ${PLUGIN_INSTALL_DIR} )
152 #install( FILES kxkb_part.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
153 ##install( FILES kxkb_part.rc DESTINATION ${DATA_INSTALL_DIR}/kxkb_part )
155 endif (X11_Xkbfile_FOUND OR HAVE_XKLAVIER)