Index: trunk/FACT++/CMakeLists.txt
===================================================================
--- trunk/FACT++/CMakeLists.txt	(revision 18990)
+++ trunk/FACT++/CMakeLists.txt	(revision 18991)
@@ -8,7 +8,7 @@
 # Enable debug symbols by default
 # must be done before project() statement
-IF (NOT CMAKE_BUILD_TYPE)
-	SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build (Debug or Release)" FORCE)
-ENDIF()
+#IF (NOT CMAKE_BUILD_TYPE)
+#	SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build (Debug or Release)" FORCE)
+#ENDIF()
 # (you can also set it on the command line: -D CMAKE_BUILD_TYPE=Release)
 
@@ -18,18 +18,15 @@
 # the cache is deleted
 
-IF (NOT DEFINED CMAKE_C_COMPILER)
-	SET(CMAKE_C_COMPILER   "clang")#   CACHE STRING "Choose the compiler (c++, g++, clang++)" FORCE)
-ENDIF()
-
-IF (NOT DEFINED CMAKE_CXX_COMPILER)
-	SET(CMAKE_CXX_COMPILER "clang++")# CACHE STRING "Choose the compiler (c++, g++, clang++)" FORCE)
-ENDIF()
+# The version of clang is not compatible with boost::regex on Ubuntu 16.04 :(
+
+#IF (NOT DEFINED CMAKE_C_COMPILER)
+#	SET(CMAKE_C_COMPILER   "clang")#   CACHE STRING "Choose the compiler (c++, g++, clang++)" FORCE)
+#ENDIF()
+#
+#IF (NOT DEFINED CMAKE_CXX_COMPILER)
+#	SET(CMAKE_CXX_COMPILER "clang++")# CACHE STRING "Choose the compiler (c++, g++, clang++)" FORCE)
+#ENDIF()
 
 #SET(CMAKE_VERBOSE_MAKEFILE ON)
-
-# To check for an include file you do this:
-#CHECK_INCLUDE_FILE("stdint.h"        HAVE_STDINT_H)
-# To check the size of a primitive type:
-#CHECK_TYPE_SIZE("int"   SIZEOF_INT)
 
 
@@ -91,16 +88,21 @@
 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
 
+# FIXME: Need to check which package finders accept REQUIERED. For all others implement checks
+
+SET(CURSES_NEED_NCURSES ON)
+FIND_PACKAGE(Curses   REQUIRED)  # CURSES_FOUND
+# FIXME : Require  panel
+
 FIND_PACKAGE(DBus)
-FIND_PACKAGE(Motif)
+FIND_PACKAGE(Motif)              # MOTIF_FOUND
 FIND_PACKAGE(Nova     REQUIRED)
 FIND_PACKAGE(Readline REQUIRED)
-FIND_PACKAGE(GLUT)
-FIND_PACKAGE(Curses) # FIXME : Requires ncurses panel
-FIND_PACKAGE(ZLIB REQUIRED)     # ZLIB::ZLIB
-FIND_PACKAGE(Threads REQUIRED)  # Threads::Threads
-FIND_PACKAGE(OpenGL REQUIRED)   # OpenGL::GL OpenGL::GLU
+FIND_PACKAGE(ZLIB     REQUIRED)  # ZLIB::ZLIB
+FIND_PACKAGE(Threads  REQUIRED)  # Threads::Threads
+FIND_PACKAGE(OpenGL   REQUIRED)  # OpenGL::GL OpenGL::GLU / OPENGL_FOUND OPENGL_GLU_FOUND
 
 INCLUDE_DIRECTORIES("/usr/include/mysql")
-#LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
+
+MESSAGE(${CURSES_LIBRARIES})
 
 
@@ -114,6 +116,4 @@
         system
         thread)
-INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
-LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
 
 # =============== QT4 ==============
@@ -130,17 +130,17 @@
 # QtCore QtSql QtOpenGL QtXml
 FIND_PACKAGE(Qt4 REQUIRED QtCore QtGui QtOpenGL QtSql QtXml)
-INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${QT_QTGUI_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${QT_QTSQL_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${QT_QTXML_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${QT_QTOPENGL_INCLUDE_DIR})
-
-MESSAGE(${QT_INCLUDE_DIR})
-MESSAGE(${QT_QTGUI_INCLUDE_DIR})
-MESSAGE(${QT_QTSQL_INCLUDE_DIR})
-MESSAGE(${QT_QTXML_INCLUDE_DIR})
-MESSAGE(${QT_QTCORE_INCLUDE_DIR})
-MESSAGE(${QT_QTOPENGL_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_QTGUI_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_QTSQL_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_QTXML_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR})
+#INCLUDE_DIRECTORIES(${QT_QTOPENGL_INCLUDE_DIR})
+
+#MESSAGE(${QT_INCLUDE_DIR})
+#MESSAGE(${QT_QTGUI_INCLUDE_DIR})
+#MESSAGE(${QT_QTSQL_INCLUDE_DIR})
+#MESSAGE(${QT_QTXML_INCLUDE_DIR})
+#MESSAGE(${QT_QTCORE_INCLUDE_DIR})
+#MESSAGE(${QT_QTOPENGL_INCLUDE_DIR})
 
 # dbus-1 dbus-glib-1
@@ -169,5 +169,5 @@
 	"${CMAKE_CXX_FLAGS} -Wall -Winit-self -Wpointer-arith \
          -Wcast-align -Wformat=2 -Woverloaded-virtual \
-         -Wnon-virtual-dtor -Wshadow -fPIC") # -Wextra
+         -Wnon-virtual-dtor -Wshadow") # -Wextra
 
 # FIXME: Move that to config.h.in
@@ -185,4 +185,10 @@
          -DPACKAGE_BUGREPORT=\\\"${PACKAGE_BUGREPORT}\\\""
          )
+
+#         -DBOOST_DISABLE_ASSERTS \
+#         -DBOOST_NO_STD_LOCALE=1 \
+#         -DBOOST_REXEG_NO_FWD=1 \
+#         -DBOOST_NO_MEMBER_TEMPLATES=1 \
+#         -DBOOST_HAS_ABI_HEADERS=1 \
 
 # Flags required for Dim
@@ -357,9 +363,14 @@
 	src/Configuration.h src/Configuration.cc
 	src/FACT.h src/FACT.cc)
+TARGET_LINK_LIBRARIES(Configuration
+	Boost::regex
+        Boost::system
+        Boost::filesystem
+        Boost::program_options)
 
 # ===================== libTime.so =======================
 ADD_LIBRARY(Time SHARED
 	src/Time.h src/Time.cc)
-TARGET_LINK_LIBRARIES(Time)# ${NOVA_LIBRARY})
+#TARGET_LINK_LIBRARIES(Time)# ${NOVA_LIBRARY})
 
 # ===================== libTools.so ======================
@@ -415,5 +426,5 @@
 # ********************************************************
 
-SET(HELP++LIBS Tools Configuration Time ${Boost_LIBRARIES} mysqlpp mysqlclient)
+SET(HELP++LIBS Tools Configuration Time mysqlpp mysqlclient)
 
 # --------------------------------------------------------
@@ -471,5 +482,5 @@
 
 ADD_EXECUTABLE(showlog src/showlog.cc src/WindowLog.cc)
-TARGET_LINK_LIBRARIES(showlog ${HELP++LIBS} ncurses)
+TARGET_LINK_LIBRARIES(showlog Threads::Threads ${HELP++LIBS} ${CURSES_LIBRARIES})
 MANPAGE(showlog "")
 
@@ -484,6 +495,7 @@
 # ********************************************************
 
-SET(FACT++LIBS StateMachine Tools Configuration Time Dim++ Dim DimExtension
-        ${Boost_LIBRARIES} mysqlpp readline ncurses panel) # HAVE_SQL
+SET(FACT++LIBS
+	StateMachine Tools Configuration Time Dim++ Dim DimExtension
+        mysqlpp readline ${CURSES_LIBRARIES} panel Boost::thread) # HAVE_SQL
 
 # --------------------------------------------------------
@@ -512,5 +524,5 @@
 #TARGET_LINK_LIBRARIES(cosyctrl
 #	StateMachine Tools Configuration Time Dim++ Dim DimExtension
-#        ${Boost_LIBRARIES} readline ncurses)
+#        ${Boost_LIBRARIES} readline ${CURSES_LIBRARIES})
 
 ADD_EXECUTABLE(datalogger src/datalogger.cc
@@ -644,4 +656,5 @@
 INCLUDE_DIRECTORIES(/usr/include/qwt-qt4 gui gui/RawEventsViewer)
 FILE(WRITE ${CMAKE_BINARY_DIR}/design.h "#include \"ui_design.h\"")
+FILE(WRITE ${CMAKE_BINARY_DIR}/viewer.h "#include \"ui_viewer.h\"")
 
 # --------------------------------------------------------
@@ -666,5 +679,6 @@
 	${Boost_LIBRARIES} Configuration mysqlpp
         Qt4::QtGui Qt4::QtOpenGL
-	GL GLU qwt-qt4 ZLIB::ZLIB)
+        ${OPENGL_LIBRARIES} # OpenGL::GL OpenGL::GLU
+        qwt-qt4 ZLIB::ZLIB)
 
 # --------------------------------------------------------
@@ -696,5 +710,6 @@
         ${ROOT_LIBRARIES}
         Qt4::QtGui Qt4::QtOpenGL Qt4::QtSql
-	GL GLU qwt-qt4 ZLIB::ZLIB)
+        ${OPENGL_LIBRARIES} # OpenGL::GL OpenGL::GLU
+	qwt-qt4 ZLIB::ZLIB)
 
 
@@ -759,2 +774,3 @@
 #	MANPAGE(psuctrl "")
 ENDIF()
+
