Index: /trunk/FACT++/CMakeLists.txt
===================================================================
--- /trunk/FACT++/CMakeLists.txt	(revision 19140)
+++ /trunk/FACT++/CMakeLists.txt	(revision 19141)
@@ -50,8 +50,9 @@
 
 
-
 # *********************************
 # ******** FAMOUS / IceACT ********
 # *********************************
+
+IF (NOT TOOLS_ONLY)
 
 IF(EXISTS "${CMAKE_SOURCE_DIR}/famous")
@@ -65,4 +66,5 @@
 ENDIF()
 
+ENDIF(NOT TOOLS_ONLY)
 
 
@@ -78,14 +80,20 @@
 # ========== executables ==========
 FIND_PROGRAM(HELP2MAN_EXECUTABLE help2man)
+FIND_PROGRAM(GROFF_EXECUTABLE    groff)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(help2man DEFAULT_MSG HELP2MAN_EXECUTABLE)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(groff    DEFAULT_MSG GROFF_EXECUTABLE)
+
+IF (NOT TOOLS_ONLY)
+
 FIND_PROGRAM(JSDOC_EXECUTABLE    jsdoc)
 FIND_PROGRAM(MAILX_EXECUTABLE    mailx)
 FIND_PROGRAM(CURL_EXECUTABLE     curl)
-FIND_PROGRAM(GROFF_EXECUTABLE    groff)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(groff    DEFAULT_MSG GROFF_EXECUTABLE)
+
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(curl     DEFAULT_MSG CURL_EXECUTABLE)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(mailx    DEFAULT_MSG MAILX_EXECUTABLE)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(jsdoc    DEFAULT_MSG JSDOC_EXECUTABLE)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(help2man DEFAULT_MSG HELP2MAN_EXECUTABLE)
+
+ENDIF (NOT TOOLS_ONLY)
 
 #IF(NOT SOME_COND)
@@ -101,5 +109,4 @@
 FIND_PACKAGE(Threads  REQUIRED)  # Threads::Threads
 FIND_PACKAGE(ZLIB     REQUIRED)  # ZLIB::ZLIB
-FIND_PACKAGE(OpenGL   REQUIRED)  # OpenGL::GL OpenGL::GLU / OPENGL_FOUND OPENGL_GLU_FOUND
 
 SET(CURSES_NEED_NCURSES ON)
@@ -107,14 +114,22 @@
 # FIXME : Require  panel
 
+IF(NOT TOOLS_ONLY)
+
+FIND_PACKAGE(OpenGL   REQUIRED)  # OpenGL::GL OpenGL::GLU / OPENGL_FOUND OPENGL_GLU_FOUND
+
 # FIND_PACKAGE(DBus)    => skaypeclient
 # FIND_PACKAGE(Motif)   => did   # MOTIF_FOUND
+
 FIND_PACKAGE(Readline REQUIRED)
 FIND_PACKAGE(Panel    REQUIRED)
+FIND_PACKAGE(V8       REQUIRED)
+FIND_PACKAGE(Cfitsio  REQUIRED)
+FIND_PACKAGE(CCfits   REQUIRED)
+
+ENDIF(NOT TOOLS_ONLY)
+
 FIND_PACKAGE(Nova     REQUIRED)
 FIND_PACKAGE(MySQL    REQUIRED)
 FIND_PACKAGE(MySQL++  REQUIRED)
-FIND_PACKAGE(V8       REQUIRED)
-FIND_PACKAGE(Cfitsio  REQUIRED)
-FIND_PACKAGE(CCfits   REQUIRED)
 FIND_PACKAGE(OpenSSL  REQUIRED)  # Required for boost::asio::ssl
 
@@ -150,7 +165,11 @@
 
 # =============== QT4 ==============
+IF(NOT TOOLS_ONLY)
+
 SET(CMAKE_INCLUDE_CURRENT_DIR ON)
 FIND_PACKAGE(Qt4 REQUIRED QtCore QtGui QtOpenGL QtSql QtXml)
 FIND_PACKAGE(Qwt REQUIRED)
+
+ENDIF(NOT TOOLS_ONLY)
 
 # =========== Enable C++11 ===========
@@ -236,4 +255,5 @@
 # ********************** Libraries ***********************
 # ********************************************************
+IF (NOT TOOLS_ONLY)
 
 # =================== libPointing.so ======================
@@ -354,4 +374,6 @@
 TARGET_LINK_LIBRARIES(StateMachine OpenSSL::SSL)
 
+ENDIF (NOT TOOLS_ONLY)
+
 # ================= libConfiguration.so ==================
 ADD_LIBRARY(Configuration SHARED
@@ -410,5 +432,5 @@
 	ADD_CUSTOM_TARGET(${program}.man ALL DEPENDS man1/${program}.1)
 
-#	INSTALL(FILES ${PROJECT_BINARY_DIR}/${program}.1 DESTINATION "${PKG_MAN}")
+	INSTALL(FILES ${PROJECT_BINARY_DIR}/man1/${program}.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
 
 ENDMACRO()
@@ -427,5 +449,5 @@
 ADD_EXECUTABLE(fitsdump src/fitsdump.cc)
 TARGET_LINK_LIBRARIES(fitsdump ${HELP++LIBS} ${ROOT_LIBRARIES} ZLIB::ZLIB)
-MANPAGE(fitsdump "")
+MANPAGE(fitsdump "FACT++ - fitsdump - Read and dump contents of a FITStable")
 
 #ADD_EXECUTABLE(fitsloader src/fitsloader.cc)
@@ -445,24 +467,34 @@
 #MANPAGE(fitsselect "")
 
+#ADD_EXECUTABLE(readfits src/readfits.cc)
+#TARGET_LINK_LIBRARIES(readfits ${HELP++LIBS} ZLIB::ZLIB)
+#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(fits2sql src/fits2sql.cc)
+TARGET_LINK_LIBRARIES(fits2sql ${HELP++LIBS}  ZLIB::ZLIB)
+MANPAGE(fits2sql "FACT++ - fits2sql - Fill contents of a FITS table into a MySQL database")
+
+ADD_EXECUTABLE(showlog src/showlog.cc src/WindowLog.cc)
+TARGET_LINK_LIBRARIES(showlog Threads::Threads ${HELP++LIBS} ${CURSES_LIBRARIES})
+MANPAGE(showlog "")
+
+ADD_EXECUTABLE(zfits src/zfits.cc)
+TARGET_LINK_LIBRARIES(zfits ${HELP++LIBS} ZLIB::ZLIB)
+MANPAGE(zfits "")
+
+IF (NOT TOOLS_ONLY)
+
 ADD_EXECUTABLE(getevent src/getevent.cc)
 TARGET_LINK_LIBRARIES(getevent ${HELP++LIBS} ZLIB::ZLIB)
 MANPAGE(getevent "")
 
-#ADD_EXECUTABLE(readfits src/readfits.cc)
-#TARGET_LINK_LIBRARIES(readfits ${HELP++LIBS} ZLIB::ZLIB)
-#MANPAGE(readfits "")
-
-ADD_EXECUTABLE(rootifysql src/rootifysql.cc)
-TARGET_LINK_LIBRARIES(rootifysql ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(rootifysql "")
-
-ADD_EXECUTABLE(root2sql src/root2sql.cc)
-TARGET_LINK_LIBRARIES(root2sql ${HELP++LIBS} ${ROOT_LIBRARIES})
-MANPAGE(root2sql "")
-
-ADD_EXECUTABLE(fits2sql src/fits2sql.cc)
-TARGET_LINK_LIBRARIES(fits2sql ${HELP++LIBS}  ZLIB::ZLIB)
-MANPAGE(fits2sql "")
-
 ADD_EXECUTABLE(calcsource src/calcsource.cc)
 TARGET_LINK_LIBRARIES(calcsource ${HELP++LIBS} ${ROOT_LIBRARIES} ${NOVA_LIBRARY})
@@ -480,14 +512,4 @@
 TARGET_LINK_LIBRARIES(makeschedule ${HELP++LIBS} ${NOVA_LIBRARY})
 MANPAGE(makeschedule "")
-
-ADD_EXECUTABLE(showlog src/showlog.cc src/WindowLog.cc)
-TARGET_LINK_LIBRARIES(showlog Threads::Threads ${HELP++LIBS} ${CURSES_LIBRARIES})
-MANPAGE(showlog "")
-
-ADD_EXECUTABLE(zfits src/zfits.cc)
-TARGET_LINK_LIBRARIES(zfits ${HELP++LIBS} ZLIB::ZLIB)
-MANPAGE(zfits "")
-
-
 
 # ********************************************************
@@ -735,5 +757,5 @@
 #test_LDADD = libStateMachine.la libTools.la libTime.la libDim++.la libDim.la libConfiguration.la
 
-
+ENDIF(NOT TOOLS_ONLY)
 
 
@@ -787,2 +809,112 @@
 ENDIF()
 
+
+# *********************************
+# ********** Installation *********
+# *********************************
+
+# ======== Setup directories ======
+
+# MESSAGE("")
+# MESSAGE("PREFIX:         "${CMAKE_INSTALL_PREFIX})
+# MESSAGE("")
+# MESSAGE("BINDIR:         "${CMAKE_INSTALL_FULL_BINDIR})
+# MESSAGE("SBINDIR:        "${CMAKE_INSTALL_FULL_SBINDIR})
+# MESSAGE("LIBEXECDIR:     "${CMAKE_INSTALL_FULL_LIBEXECDIR})
+# MESSAGE("SHAREDSTATEDIR: "${CMAKE_INSTALL_FULL_SHAREDSTATEDIR})
+# MESSAGE("LOCALSTATEDIR:  "${CMAKE_INSTALL_FULL_LOCALSTATEDIR})
+# MESSAGE("RUNSTATEDIR:    "${CMAKE_INSTALL_FULL_RUNSTATEDIR})
+# MESSAGE("LIBDIR:         "${CMAKE_INSTALL_FULL_LIBDIR})
+# MESSAGE("INCLUDEDIR:     "${CMAKE_INSTALL_FULL_INCLUDEDIR})
+# MESSAGE("DATAROOTDIR:    "${CMAKE_INSTALL_FULL_DATAROOTDIR})
+# MESSAGE("DATADIR:        "${CMAKE_INSTALL_FULL_DATADIR})
+# MESSAGE("INFODIR:        "${CMAKE_INSTALL_FULL_INFODIR})
+# MESSAGE("LOCALDIR:       "${CMAKE_INSTALL_FULL_LOCALDIR})
+# MESSAGE("MANDIR:         "${CMAKE_INSTALL_FULL_MANDIR})
+# MESSAGE("DOCDIR:         "${CMAKE_INSTALL_FULL_DOCDIR})
+# MESSAGE("")
+# MESSAGE("BINDIR:         "${CMAKE_INSTALL_BINDIR})
+# MESSAGE("SBINDIR:        "${CMAKE_INSTALL_SBINDIR})
+# MESSAGE("LIBEXECDIR:     "${CMAKE_INSTALL_LIBEXECDIR})
+# MESSAGE("SHAREDSTATEDIR: "${CMAKE_INSTALL_SHAREDSTATEDIR})
+# MESSAGE("LOCALSTATEDIR:  "${CMAKE_INSTALL_LOCALSTATEDIR})
+# MESSAGE("RUNSTATEDIR:    "${CMAKE_INSTALL_RUNSTATEDIR})
+# MESSAGE("LIBDIR:         "${CMAKE_INSTALL_LIBDIR})
+# MESSAGE("INCLUDEDIR:     "${CMAKE_INSTALL_INCLUDEDIR})
+# MESSAGE("DATAROOTDIR:    "${CMAKE_INSTALL_DATAROOTDIR})
+# MESSAGE("DATADIR:        "${CMAKE_INSTALL_DATADIR})
+# MESSAGE("INFODIR:        "${CMAKE_INSTALL_INFODIR})
+# MESSAGE("LOCALDIR:       "${CMAKE_INSTALL_LOCALDIR})
+# MESSAGE("MANDIR:         "${CMAKE_INSTALL_MANDIR})
+# MESSAGE("DOCDIR:         "${CMAKE_INSTALL_DOCDIR})
+# MESSAGE("")
+
+SET(PKG_SHARE    "${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}")
+SET(PKG_APPS     "${CMAKE_INSTALL_DATAROOTDIR}/applications")
+SET(PKG_PIXMAPS  "${CMAKE_INSTALL_DATAROOTDIR}/pixmaps")
+
+# ====== Installation targets =====
+
+INSTALL(TARGETS  fits2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  root2sql       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  fitsdump       DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  zfits          DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  showlog        DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  rootifysql     DESTINATION "${CMAKE_INSTALL_BINDIR}")
+INSTALL(TARGETS  Configuration  DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+INSTALL(TARGETS  Time           DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+INSTALL(TARGETS  Tools          DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+
+#INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/html DESTINATION  "${PKG_SHARE}" FILES_MATCHING PATTERN "*.html")
+#INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/pdf  DESTINATION  "${PKG_SHARE}" FILES_MATCHING PATTERN "*.pdf")
+
+# *********************************
+# ************ Packaging **********
+# *********************************
+
+# ======== General packaging ======
+# https://cmake.org/cmake/help/latest/module/CPack.html
+
+INCLUDE(InstallRequiredSystemLibraries)
+
+# SET(CPACK_STRIP_FILES ON) # Strip debug sysmbold from files
+
+SET(CPACK_PACKAGE_VERSION       "${fact++_VERSION}")
+SET(CPACK_PACKAGE_CONTACT       "${PACKAGE_BUGREPORT}")
+SET(CPACK_PACKAGE_MAINTAINER    "${PACKAGE_MAINTAINER}")
+SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
+#SET(CPACK_PACKAGE_VENDOR "Me, myself, and I")
+
+
+SET(CPACK_SOURCE_IGNORE_FILES "/old/;/build/;/[.].*/;/autom4te[.]cache/;.*~;.log$")
+
+# Maybe the text displayed in synaptic?
+SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FACT++ - Toolset")
+#CPACK_RESOURCE_FILE_README     ReadMe file to be embedded in the installer.
+
+SET(CPACK_GENERATOR        TBZ2 DEB) # TGZ
+SET(CPACK_SOURCE_GENERATOR TBZ2)     # TGZ
+#SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/cmake/Package.txt)
+#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+
+
+# ======== Debian packaging =======
+# https://cmake.org/cmake/help/latest/module/CPackDeb.html
+# https://www.debian.org/doc/debian-policy
+
+#SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libao4 (>=1.0), libsfm-system2.3v5 (>=2.3), libsfml-graphicsv2.3v5 (>=2.3), libsfml-audio2.3v5 (>=2.3), libsfm-window2.3v5 (>2.3)")
+SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS 1) # generate better (atomatic?) dependecies
+SET(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
+SET(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
+SET(CPACK_DEBIAN_PACKAGE_SECTION utils)
+SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${PACKAGE_URL}")
+SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION
+"${CPACK_PACKAGE_DESCRIPTION_SUMMARY}
+ This package contains some tools which are part of FACT++ to deal with databases, fits files and root-files.")
+#indent the long description with spaces
+
+#CPACK_INSTALL_CMAKE_PROJECTS
+#List of four values that specify what project to install. Build directory, Project Name, Project Component, Directory.
+
+INCLUDE(CPack)
