[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/kcontrol/kxkb
From:       Andriy Rysin <arysin () gmail ! com>
Date:       2009-04-03 4:21:47
Message-ID: 1238732507.077894.1714.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 948457 by rysin:

check for specific Xi function we need for keyboard hotplugging support

 M  +14 -5     CMakeLists.txt  


--- trunk/KDE/kdebase/workspace/kcontrol/kxkb/CMakeLists.txt #948456:948457
@@ -51,7 +51,16 @@
 endif(USE_XKLAVIER STREQUAL ON)
 macro_log_feature(X11_Xkbfile_FOUND "xkbfile" "X11 KXB library for keyboard handling \
software" "http://www.x.org" FALSE "" "xkbfile is required to build kxkb.")  
-macro_bool_to_01(X11_Xinput_FOUND HAVE_XINPUT)
+SET(CMAKE_REQUIRED_LIBRARIES -lXi)
+CHECK_FUNCTION_EXISTS(_XiGetDevicePresenceNotifyEvent \
XiGetDevicePresenceNotifyEvent_EXISTS) +
+if( X11_Xinput_FOUND AND XiGetDevicePresenceNotifyEvent_EXISTS )
+    set(XiGetDevicePresence_FOUND 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 ) +
+macro_bool_to_01(XiGetDevicePresence_FOUND HAVE_XINPUT)
 ADD_DEFINITIONS(-DHAVE_XINPUT=${HAVE_XINPUT})
 
 if(X11_Xkbfile_FOUND AND HAVE_XKLAVIER)
@@ -89,9 +98,9 @@
   target_link_libraries(kcm_keyboard_layout ${X11_XTest_LIB})
 endif(X11_XTest_FOUND)
 
-if(X11_Xinput_FOUND)
+if(XiGetDevicePresence_FOUND)
   target_link_libraries(kcm_keyboard_layout ${X11_Xinput_LIB})
-endif(X11_Xinput_FOUND)
+endif(XiGetDevicePresence_FOUND)
 
 install(TARGETS kcm_keyboard_layout DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES keyboard_layout.desktop DESTINATION  ${SERVICES_INSTALL_DIR})
@@ -113,9 +122,9 @@
 target_link_libraries(kdeinit_kxkb ${X11_X11_LIB} ${X11_Xext_LIB} ${KDE4_KDEUI_LIBS}
      ${XKB_SUPPORT_LIB})
 
-if(X11_Xinput_FOUND)
+if(XiGetDevicePresence_FOUND)
   target_link_libraries(kdeinit_kxkb ${X11_Xinput_LIB})
-endif(X11_Xinput_FOUND)
+endif(XiGetDevicePresence_FOUND)
 
 install(TARGETS kdeinit_kxkb ${INSTALL_TARGETS_DEFAULT_ARGS})
 install(TARGETS kxkb         ${INSTALL_TARGETS_DEFAULT_ARGS})


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic