Commit Graph

10 Commits

Author SHA1 Message Date
Roland Kaufmann
16c2f694a8 Update the CMake cache to reflect current settings
During configuration some of the values for CMake properties (compiler
flags etc.) may be changed either by the user (through command line
parameters or option files), or by the configuration script itself
(setting more aggressive options or detailed debugging for instance).

This change writes many of the relevant values back into the cache so
they are available for introspection (using e.g. ccmake) or when the
rerunning the configuration without specifying all options.
2013-09-17 22:18:55 +02:00
Roland Kaufmann
aa4b7979a7 Recognize Clang to be a GCC-compatible compiler
Clang aims to be compatible with GCC when it comes to command-line
parameters. Where we enable functionality based on the presence of
a GCC-compiler, we can use the same functionality with Clang.

This patch introduces a new variable CXX_COMPAT_GCC which is true if
the compiler handles the same options as GCC, and this variable is
subsequently used in tests instead of CMAKE_COMPILER_IS_GNUCXX (which
remains if we need to test if we really have GCC, e.g. for version)
2013-08-06 23:06:09 +02:00
Roland Kaufmann
b46441085a Use RUNPATH in installed library by default
When checking out from source code, the paths that were used to
configure the project should be carried on to the installed binary,
so the same libraries are used without much effort.

By using RUNPATH instead of (just) RPATH, it can be overridden with
LD_LIBRARY_PATH if the user so desires.
2013-08-01 14:29:04 +02:00
Roland Kaufmann
28f5eabcbc Build release library by default
If you just download the source, compile and install, you get the
release library. Users who want to develop the code, must do setup
in their environment.
2013-04-09 11:03:07 +02:00
Roland Kaufmann
f6d44238b1 Simplify setting of flag that indicates shared object
Instead of having the name of the module set for each flag, use the
available standard option. Mixing shared objects and static libraries
in the same build is not a very realistic scenario anyway.

This enables us to call configure without actually having a particular
module; the script may then be used on a group level.
2013-03-07 21:28:17 +01:00
Roland Kaufmann
252d853147 Disable use of OpenMP by default
If support for OpenMP should be added, it must be specified by
setting an option. If not, then warnings for unknown pragmas are
disabled, so that the code can have #pragma omp witout getting
messages during build.
2013-03-07 00:17:46 +01:00
Roland Kaufmann
be9b33e687 Use uppercase for the shared-object variable as well 2013-03-04 21:58:36 +01:00
Roland Kaufmann
4fc2593bb3 Prevent conflict between older Boost and newer CMake
The probe for Boost was changed in CMake 2.8; if the system has
installed configuration files tailored for an older CMake, the
library paths are not setup correctly. This patch disables using
those configuration files; just use the library directly instead.
2013-02-15 13:51:53 +01:00
Roland Kaufmann
51a8efa228 Disable precompiled headers for buggy compilers 2013-02-11 23:08:29 +01:00
Roland Kaufmann
d9696c7ea4 Modularize default build settings 2013-02-11 23:08:28 +01:00