Improve master-specific CMake behavior.
authorTeemu Murtola <teemu.murtola@gmail.com>
Sat, 23 Mar 2013 19:55:04 +0000 (21:55 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Tue, 26 Mar 2013 19:14:01 +0000 (21:14 +0200)
commitd9b7ae0bc59e4acbb0eb1100a594380aa7b0377d
treee444e2fee1b049279059669dea45b89d4a697401
parentee0af4246c484292e29b1ad8269003d242b7020c
Improve master-specific CMake behavior.

- Make GMX_BUILD_UNITTESTS independent of GMX_XML.  It now gets it
  default value based on whether libxml2 is found.  Also, if it is
  explicitly set, but libxml2 is not found, give a fatal error instead
  of silently disabling the tests.
- Mark GMX_XML as advanced and make it a no-op that it currently is
  (nothing in libgromacs actually depends on libxml2).
- Rename GMX_INTERNAL_BOOST to GMX_EXTERNAL_BOOST to match BLAS/LAPACK
  settings.  Set the default for it based on whether Boost is
  actually found.  Print the existing message on the first run if
  GMX_EXTERNAL_BOOST was not explicitly set.  Give a fatal error if
  boost is not found and GMX_EXTERNAL_BOOST=ON instead of silently
  changing to use the internal boost.
- Move installation rules etc. for boost towards the end of the
  CMakeLists.txt file to use INCL_INSTALL_DIR in them.

Now, cached values for these variables really describe what is going to
get build.  Also, explicit user choices are never overridden, but result
in fatal errors if they cannot be satisfied.

Change-Id: I5b3f93eecff2ccc4bf8d348392dd4ae30efd9f92
CMakeLists.txt
src/testutils/CMakeLists.txt