eudaq/eudaq — pull request #5 by hperrey (2013-11-01 18:06:34+00:00)
Title: Change to CMake build system and source tree cleanup

This branch includes two major changes to the project, affecting the build system and the directory hierarchy.

Build system:
------------
To allow more flexible and centrally managed build processes for all platforms (Linux, MacOSX, Windows), flavours of platforms (e.g. Cygwin), and compilers (e.g. gcc, MSVSC) supported by EUDAQ, I've changed our build system from Makefiles, Qt project files and MS Visual Studio files to CMake.
CMake is an open-source, cross-platform build system, that can on-the-fly generate configuration files appropriate to the current platform and compiler. It is very flexible and simple (compared e.g. to Makefiles) and easy to extend. It also allows integration into test suits such as CTest/CDash.

So far, I've tested this new setup only on Ubuntu 12.10 with CMake 2.8.9 and gcc.

I've updated the documentation to reflect the changes in installation procedure (but have not updated the information for Windows).

Directory hierarchy:
------------------
To improve the structure of the repository, I've moved all producers into a ./producers subdirectory. Useful files that are not part of the actual project code (e.g. startup scripts) are now located in ./etc. ./main is structured in the central library (main/lib) and the executables that go along (main/exe).

I have also removed and merged many files: obsolete files, the old Makefiles and the VS project files. The size of the files in this branch is thus reduced from 363MB to 92MB. Most is still taken up by the external libraries (67MB) and binary files of the producers (5 to 10MB).

These changes *will* affect the usual workflow of our developers and should be properly announced; however, I believe the changes are solid and important enough that they should go into the main development tree to be tested and improved by others.

Cheers,
Hanno