commit 6a27800221cc581634bee975b32ca21c545e074e
Author: Kornel Benko <[email protected]>
Date:   Thu Jul 4 19:01:51 2013 +0200

    Cmake build key tests: Omit the tests and creation of xvkbd command,
    if not all needed libs or programs are available.
    This error is now not fatal.

diff --git a/development/autotests/CMakeLists.txt 
b/development/autotests/CMakeLists.txt
index bddd612..9933a4a 100644
--- a/development/autotests/CMakeLists.txt
+++ b/development/autotests/CMakeLists.txt
@@ -5,15 +5,64 @@
 #
 
 if(Q_WS_X11)
+  set(Missing)
+  set(XVFBDLIBS)
   # Make sure, the needed programs are in PATH
   find_program(PCREGREP_EXE "pcregrep")
+  if (NOT PCREGREP_EXE)
+    list(APPEND Missing "pcregrep")
+  endif()
   find_program(WMCTRL_EXE "wmctrl")
+  if(NOT WMCTRL_EXE)
+    list(APPEND Missing "wmctrl")
+  endif()
   # This is needed to build xvkbd
   # Programs pcregrep wmctrl and xvkbd are used in subsequent scripts
   # while testing
+
+  # Check for needed libraries for xvkbd
+  # do not add autotests, if any of them is lacking
+
   find_package(X11)
-  if(X11_FOUND AND PCREGREP_EXE AND WMCTRL_EXE)
-    #message(STATUS "PCREGREP_EXE and WMCTRL_EXE found")
+  if(NOT X11_FOUND)
+    list(APPEND Missing "X11")
+  endif()
+  find_package(PkgConfig)
+  if(PKG_CONFIG_FOUND)
+    pkg_check_modules(XAWLIB xaw7)
+    if (XAWLIB_LIBRARIES)
+      list(APPEND XVFBDLIBS ${XAWLIB_LIBRARIES})
+    else()
+      list(APPEND Missing Xaw7)
+    endif()
+    pkg_check_modules(XTEST xtst)
+    if (XTEST_LIBRARIES)
+      list(APPEND XVFBDLIBS ${XTEST_LIBRARIES})
+    else()
+      list(APPEND Missing xtst)
+    endif()
+  else()
+    find_library(XAW7LIB "Xaw7")
+    if(XAW7LIB)
+      list(APPEND XVFBDLIBS ${XAW7LIB})
+    else()
+      list(APPEND Missing Xaw7)
+    endif()
+    foreach(_lb Xt XTest X11)
+      if(X11_${_lb}_LIB)
+       list(APPEND XVFBDLIBS ${X11_${_lb}_LIB})
+      else()
+       list(APPEND Missing ${_lb})
+      endif()
+    endforeach()
+  endif()
+
+  if(Missing)
+    message(STATUS "Missing Libraries or programms to create xvkbd: 
${Missing}")
+    message(STATUS "cmake build is therefore omiting autotests")
+  endif()
+
+  if(NOT Missing)
     project(autotests)
 
     add_subdirectory(xvkbd)
diff --git a/development/autotests/xvkbd/CMakeLists.txt 
b/development/autotests/xvkbd/CMakeLists.txt
index 7e35bec..4397a5c 100644
--- a/development/autotests/xvkbd/CMakeLists.txt
+++ b/development/autotests/xvkbd/CMakeLists.txt
@@ -3,31 +3,13 @@
 #
 # Copyright (c) 2012 Kornel Benko [email protected]
 #
+# Variable "XVFBDLIBS" created in development/autotests/CMakeLists.txt
+#
 project(xvkbd)
 
-find_package(PkgConfig)
-
 add_definitions(-DUSE_XTEST -DUSE_I18N)
 
 add_executable(xvkbd xvkbd.c findwidget.c)
 
-set(XVFBDLIBS)
-
-if(PKG_CONFIG_FOUND)
-  pkg_check_modules(XAWLIB REQUIRED xaw7)
-  list(APPEND XVFBDLIBS ${XAWLIB_LIBRARIES})
-  pkg_check_modules(XTEST REQUIRED xtst)
-  list(APPEND XVFBDLIBS ${XTEST_LIBRARIES})
-else()
-  list(APPEND XVFBDLIBS -lXaw7)
-  foreach(_lb Xt XTest X11)
-    if(X11_${_lb}_LIB)
-      list(APPEND XVFBDLIBS ${X11_${_lb}_LIB})
-    else()
-      message(FATAL_ERROR "Library for ${_lb} not found")
-    endif()
-  endforeach()
-endif()
-
 target_link_libraries(xvkbd ${XVFBDLIBS})
 add_dependencies(lyx_run_tests xvkbd)

Reply via email to