]> git.lyx.org Git - features.git/commitdiff
Cmake build key tests: Omit the tests and creation of xvkbd command,
authorKornel Benko <kornel@lyx.org>
Thu, 4 Jul 2013 17:01:51 +0000 (19:01 +0200)
committerVincent van Ravesteijn <vfr@lyx.org>
Sat, 13 Jul 2013 20:44:56 +0000 (22:44 +0200)
if not all needed libs or programs are available.
This error is now not fatal.

development/autotests/CMakeLists.txt
development/autotests/xvkbd/CMakeLists.txt

index bddd6127f046212217499b80cac1353f716c6ea6..9933a4aef56743755f3b53124a0617f6451d3f7b 100644 (file)
@@ -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)
index 7e35bec06edf6b43da6141685884a762778779d7..4397a5ccd80f3bac9d7979d368690f1e8fa2d376 100644 (file)
@@ -3,31 +3,13 @@
 #
 # Copyright (c) 2012 Kornel Benko kornel@lyx.org
 #
+# 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)