Index: /trunk/FACT++/CMakeLists.txt
===================================================================
--- /trunk/FACT++/CMakeLists.txt	(revision 19817)
+++ /trunk/FACT++/CMakeLists.txt	(revision 19818)
@@ -230,51 +230,53 @@
 # ============== ROOT ================
 
-FIND_PROGRAM(ROOTCONFIG_EXECUTABLE NAMES root-config)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(root-config DEFAULT_MSG ROOTCONFIG_EXECUTABLE)
-IF(NOT ROOTCONFIG_EXECUTABLE)
-   MESSAGE(FATAL_ERROR "Please make sure `root-config` is accessible in your path. In case of an installation from source, you might need to source\n . [path-to-root]/bin/thisroot.sh")
-ENDIF()
-
-# You need to tell CMake where to find the ROOT installation. This can be done in a number of ways:
-#   - ROOT built with classic configure/make use the provided $ROOTSYS/etc/cmake/FindROOT.cmake
-#   - ROOT built with CMake. Add in CMAKE_PREFIX_PATH the installation prefix for ROOT
-IF(EXISTS $ENV{ROOTSYS}/ROOTConfig.cmake)
-   IF(NOT DEFINED ENV{CMAKE_PREFIX_PATH})
-      LIST(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
+IF(NOT NO_ROOT AND NOT VIEWER_ONLY)
+
+   FIND_PROGRAM(ROOTCONFIG_EXECUTABLE NAMES root-config)
+   FIND_PACKAGE_HANDLE_STANDARD_ARGS(root-config DEFAULT_MSG ROOTCONFIG_EXECUTABLE)
+   IF(NOT ROOTCONFIG_EXECUTABLE)
+      MESSAGE(FATAL_ERROR "Please make sure `root-config` is accessible in your path. In case of an installation from source, you might need to source\n . [path-to-root]/bin/thisroot.sh")
    ENDIF()
-ENDIF()
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "$ENV{ROOTSYS}/etc/cmake")
-
-#---Locate the ROOT package and defines a number of variables (e.g. ROOT_INCLUDE_DIRS)
-IF (NOT TOOLS_ONLY AND NOT VIEWER_ONLY)
-#   SET(ROOT_CONFIG_DEBUG 1)
-   FIND_PACKAGE(ROOT OPTIONAL_COMPONENTS GQt TreePlayer )
-ENDIF()
-
-IF(NOT DEFINED ROOT_CONFIG_EXECUTABLE)
-   FIND_PACKAGE_MESSAGE(RootFound "Found ROOT: ${ROOT_INCLUDE_DIRS}" "[${ROOT_INCLUDE_DIRS}][${ROOT_LIBRARY_DIR}][${ROOT_VERSION}]")
-ENDIF()
-
-IF (NOT TOOLS_ONLY AND NOT VIEWER_ONLY AND NOT ROOT_GQt_LIBRARY)
-   IF(ROOT_VERSION VERSION_LESS 6.18)
-      MESSAGE(FATAL_ERROR "Root version [${ROOT_VERSION}] less than 6.18, but component GQt not found.")
+
+   # You need to tell CMake where to find the ROOT installation. This can be done in a number of ways:
+   #   - ROOT built with classic configure/make use the provided $ROOTSYS/etc/cmake/FindROOT.cmake
+   #   - ROOT built with CMake. Add in CMAKE_PREFIX_PATH the installation prefix for ROOT
+   IF(EXISTS $ENV{ROOTSYS}/ROOTConfig.cmake)
+      IF(NOT DEFINED ENV{CMAKE_PREFIX_PATH})
+         LIST(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
+      ENDIF()
+   ENDIF()
+   SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "$ENV{ROOTSYS}/etc/cmake")
+
+   #---Locate the ROOT package and defines a number of variables (e.g. ROOT_INCLUDE_DIRS)
+   #   SET(ROOT_CONFIG_DEBUG 1)
+   FIND_PACKAGE(ROOT REQUIRED COMPONENTS TreePlayer OPTIONAL_COMPONENTS GQt)
+
+   IF(NOT DEFINED ROOT_CONFIG_EXECUTABLE)
+      FIND_PACKAGE_MESSAGE(RootFound "Found ROOT: ${ROOT_INCLUDE_DIRS}" "[${ROOT_INCLUDE_DIRS}][${ROOT_LIBRARY_DIR}][${ROOT_VERSION}]")
+   ENDIF()
+
+   IF (NOT TOOLS_ONLY AND NOT VIEWER_ONLY AND NOT ROOT_GQt_LIBRARY)
+      IF(ROOT_VERSION VERSION_LESS 6.18)
+         MESSAGE(FATAL_ERROR "Root version [${ROOT_VERSION}] less than 6.18, but component GQt not found.")
+      ELSE()
+         MESSAGE(WARNING "Root version [${ROOT_VERSION}] does not support GQt, GUI [fact] turned off.")
+      ENDIF()
+   ENDIF()
+
+   #---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
+   FIND_PACKAGE_MESSAGE(RootInclude "Setup ROOT: [${ROOT_VERSION}] ${ROOT_USE_FILE}" "[${ROOT_VERSION}][${ROOT_USE_FILE}]")
+   IF(DEFINED ROOT_USE_FILE)
+      INCLUDE(${ROOT_USE_FILE})
    ELSE()
-      MESSAGE(WARNING "Root version [${ROOT_VERSION}] does not support GQt, GUI [fact] turned off.")
+      # From RootUseFile.cmake (root 6)
+      INCLUDE_DIRECTORIES(${ROOT_INCLUDE_DIRS})
+      LINK_DIRECTORIES(${ROOT_LIBRARY_DIR})
+      ADD_DEFINITIONS(${ROOT_DEFINITIONS})
+      SET(CMAKE_CXX_FLAGS     "${CMAKE_CXX_FLAGS} ${ROOT_CXX_FLAGS}")
+      SET(CMAKE_C_FLAGS       "${CMAKE_C_FLAGS} ${ROOT_C_FLAGS}")
+      SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${ROOT_fortran_FLAGS}")
    ENDIF()
-ENDIF()
-
-#---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
-FIND_PACKAGE_MESSAGE(RootInclude "Setup ROOT: [${ROOT_VERSION}] ${ROOT_USE_FILE}" "[${ROOT_VERSION}][${ROOT_USE_FILE}]")
-IF(DEFINED ROOT_USE_FILE)
-   INCLUDE(${ROOT_USE_FILE})
-ELSE()
-   # From RootUseFile.cmake (root 6)
-   INCLUDE_DIRECTORIES(${ROOT_INCLUDE_DIRS})
-   LINK_DIRECTORIES(${ROOT_LIBRARY_DIR})
-   ADD_DEFINITIONS(${ROOT_DEFINITIONS})
-   SET(CMAKE_CXX_FLAGS     "${CMAKE_CXX_FLAGS} ${ROOT_CXX_FLAGS}")
-   SET(CMAKE_C_FLAGS       "${CMAKE_C_FLAGS} ${ROOT_C_FLAGS}")
-   SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${ROOT_fortran_FLAGS}")
-ENDIF()
+
+ENDIF(NOT NO_ROOT AND NOT VIEWER_ONLY)
 
 # -lGui -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree
@@ -571,8 +573,4 @@
 # --------------------------------------------------------
 
-ADD_EXECUTABLE(fitsdump src/fitsdump.cc)
-TARGET_LINK_LIBRARIES(fitsdump ${HELP++LIBS} ${ROOT_LIBRARIES} ZLIB::ZLIB)
-MANPAGE(fitsdump "FACT++ - fitsdump - Read and dump contents of a FITStable")
-
 #ADD_EXECUTABLE(fitsloader src/fitsloader.cc)
 #TARGET_LINK_LIBRARIES(fitsloader ${HELP++LIBS})
@@ -595,19 +593,24 @@
 #MANPAGE(readfits "")
 
-ADD_EXECUTABLE(rootifysql src/rootifysql.cc)
-TARGET_LINK_LIBRARIES(rootifysql ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(rootifysql "FACT++ - rootifysql - Write result of a SQL query into a root-file")
-
-ADD_EXECUTABLE(root2sql src/root2sql.cc)
-TARGET_LINK_LIBRARIES(root2sql ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(root2sql "FACT++ - root2sql - Fill contents of a root-tree into a MySQL database")
-
-ADD_EXECUTABLE(root2csv src/root2csv.cc)
-TARGET_LINK_LIBRARIES(root2csv ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(root2csv "FACT++ - root2csv - Convert a root-tree to a csv file")
-
-ADD_EXECUTABLE(csv2root src/csv2root.cc)
-TARGET_LINK_LIBRARIES(csv2root ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(csv2root "FACT++ - csv2root - Convert a csv file to a root-tree")
+IF(NOT NO_ROOT)
+   ADD_EXECUTABLE(fitsdump src/fitsdump.cc)
+   TARGET_LINK_LIBRARIES(fitsdump ${HELP++LIBS} ${ROOT_LIBRARIES} ZLIB::ZLIB)
+   MANPAGE(fitsdump "FACT++ - fitsdump - Read and dump contents of a FITStable")
+
+   ADD_EXECUTABLE(rootifysql src/rootifysql.cc)
+   TARGET_LINK_LIBRARIES(rootifysql ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(rootifysql "FACT++ - rootifysql - Write result of a SQL query into a root-file")
+   ADD_EXECUTABLE(root2sql src/root2sql.cc)
+   TARGET_LINK_LIBRARIES(root2sql ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(root2sql "FACT++ - root2sql - Fill contents of a root-tree into a MySQL database")
+
+   ADD_EXECUTABLE(root2csv src/root2csv.cc)
+   TARGET_LINK_LIBRARIES(root2csv ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(root2csv "FACT++ - root2csv - Convert a root-tree to a csv file")
+
+   ADD_EXECUTABLE(csv2root src/csv2root.cc)
+   TARGET_LINK_LIBRARIES(csv2root ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(csv2root "FACT++ - csv2root - Convert a csv file to a root-tree")
+ENDIF()
 
 ADD_EXECUTABLE(fits2sql src/fits2sql.cc)
@@ -623,11 +626,13 @@
 MANPAGE(zfits "")
 
-ADD_EXECUTABLE(calcsource src/calcsource.cc)
-TARGET_LINK_LIBRARIES(calcsource ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(calcsource "")
-
-ADD_EXECUTABLE(calcsourcemc src/calcsourcemc.cc)
-TARGET_LINK_LIBRARIES(calcsourcemc ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(calcsourcemc "")
+IF(NOT NO_ROOT)
+   ADD_EXECUTABLE(calcsource src/calcsource.cc)
+   TARGET_LINK_LIBRARIES(calcsource ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(calcsource "")
+
+   ADD_EXECUTABLE(calcsourcemc src/calcsourcemc.cc)
+   TARGET_LINK_LIBRARIES(calcsourcemc ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(calcsourcemc "")
+ENDIF()
 
 ADD_EXECUTABLE(getevent src/getevent.cc)
@@ -639,7 +644,9 @@
 IF (NOT TOOLS_ONLY AND NOT VIEWER_ONLY)
 
-ADD_EXECUTABLE(makeplots src/makeplots.cc)
-TARGET_LINK_LIBRARIES(makeplots  ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(makeplots "")
+IF(NOT NO_ROOT)
+   ADD_EXECUTABLE(makeplots src/makeplots.cc)
+   TARGET_LINK_LIBRARIES(makeplots  ${HELP++LIBS} ${ROOT_LIBRARIES})
+   MANPAGE(makeplots "")
+ENDIF()
 
 ADD_EXECUTABLE(makedata src/makedata.cc)
@@ -860,9 +867,9 @@
         qwt-qt4 ZLIB::ZLIB)
 
-ENDIF(NOT TOOLS_ONLY OR VIEWER_ONLY)
+#ENDIF(NOT TOOLS_ONLY OR VIEWER_ONLY)
 
 # --------------------------------------------------------
 
-IF(NOT TOOLS_ONLY AND NOT VIEWER_ONLY AND ROOT_GQt_FOUND)
+IF(NOT VIEWER_ONLY AND ROOT_GQt_FOUND)
 
 QT4_ADD_RESOURCES(FACT_QT_RESOURCES gui/design.qrc)
@@ -909,5 +916,6 @@
 #test_LDADD = libStateMachine.la libTools.la libTime.la libDim++.la libDim.la libConfiguration.la
 
-ENDIF(NOT TOOLS_ONLY AND NOT VIEWER_ONLY AND ROOT_GQt_FOUND)
+ENDIF(NOT VIEWER_ONLY AND ROOT_GQt_FOUND)
+ENDIF(NOT TOOLS_ONLY OR VIEWER_ONLY)
 
 
@@ -1017,13 +1025,19 @@
 
 IF (NOT VIEWER_ONLY)
-INSTALL(TARGETS  fits2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  root2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  root2csv       DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  csv2root       DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  fitsdump       DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  zfits          DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  calcsource     DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  showlog        DESTINATION "${CMAKE_INSTALL_BINDIR}")
-INSTALL(TARGETS  rootifysql     DESTINATION "${CMAKE_INSTALL_BINDIR}")
+
+   INSTALL(TARGETS  fits2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+   INSTALL(TARGETS  zfits          DESTINATION "${CMAKE_INSTALL_BINDIR}")
+   INSTALL(TARGETS  showlog        DESTINATION "${CMAKE_INSTALL_BINDIR}")
+
+   IF(NOT NO_ROOT)
+      INSTALL(TARGETS  rootifysql     DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  root2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  root2csv       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  csv2root       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  fitsdump       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  calcsource     DESTINATION "${CMAKE_INSTALL_BINDIR}")
+      INSTALL(TARGETS  calcsourcemc   DESTINATION "${CMAKE_INSTALL_BINDIR}")
+   ENDIF()
+
 ENDIF(NOT VIEWER_ONLY)
 
