Commit Graph

3992 Commits

Author SHA1 Message Date
Andreas Lauser
054c353606 add test for <type_traits> to FindCXX11Features.cmake
I fogot this one yesterday...
2013-08-13 21:02:52 +02:00
Andreas Lauser
41b7b316f7 add and use CMake modules for valgrind client requests and quadruple precision math 2013-08-13 21:00:18 +02:00
Bård Skaflestad
49c38590da Merge remote-tracking branch 'upstream/master' 2013-08-13 10:23:01 +02:00
Bård Skaflestad
d13054e4e2 Merge pull request #313 from andlaus/use_std_shared_ptr
Use std shared ptr
2013-08-13 01:22:34 -07:00
Bård Skaflestad
a73dd15003 Merge remote-tracking branch 'upstream/master' 2013-08-12 10:55:23 +02:00
Bård Skaflestad
876fa56489 Merge pull request #316 from rolk/316_material
OPM Porsol now depends on OPM Material
2013-08-12 01:54:44 -07:00
Roland Kaufmann
771fdbc3a9 OPM Porsol now depends on OPM Material
In the new build scheme, the prerequisites of each module is declared
in this file as the canonical version, and everything else includes it.
2013-08-09 22:15:19 +02:00
Andreas Lauser
bd094b2e11 replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Andreas Lauser
cab7125da3 also test for std::unique_ptr 2013-08-08 15:21:13 +02:00
Andreas Lauser
6722ca33f5 add a few config.h macros useful for dune-common 2013-08-08 13:40:42 +02:00
Andreas Lauser
70949c6edb use std::shared_ptr instead of boost::shared_ptr
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00
Andreas Lauser
b0349793fa detect the presence of std::shared_ptr
since GCC 4.4 supports it, make it mandatory as well...
2013-08-08 13:25:58 +02:00
Bård Skaflestad
b2704c007c Merge remote-tracking branch 'upstream/master' 2013-08-08 13:11:25 +02:00
Bård Skaflestad
ca44960c5e Merge pull request #298 from rolk/298_dunever
Make version numbers for DUNE prerequisites available
2013-08-08 04:10:25 -07:00
Bård Skaflestad
bbfa910773 Merge remote-tracking branch 'upstream/master' 2013-08-08 10:23:04 +02:00
Bård Skaflestad
65dc3224b0 Merge pull request #312 from rolk/312_nolib
Allow several options to be used even if we don't have a library
2013-08-08 01:22:16 -07:00
Roland Kaufmann
262b0f7619 Only configure libtool for libraries that exist 2013-08-08 10:09:08 +02:00
Roland Kaufmann
6149756f3c Only build before library target if there is any 2013-08-08 10:09:08 +02:00
Roland Kaufmann
83becba87b Allow PCH option to be on even if there is no library 2013-08-08 10:08:50 +02:00
Bård Skaflestad
7e5b4a27e3 Merge remote-tracking branch 'upstream/master' 2013-08-08 09:41:11 +02:00
Bård Skaflestad
07dcca3917 Merge pull request #311 from rolk/311_material
Find module for opm-material
2013-08-08 00:40:26 -07:00
Roland Kaufmann
c1acffcd90 Upgrade Findopm-material to use separate prerequisite list
This will now be included both by the find module and by the project
file itself.
2013-08-08 00:11:49 +02:00
Roland Kaufmann
6e38909b49 Module mode CMake probe for opm-material 2013-08-07 23:19:06 +02:00
Bård Skaflestad
4c529764ea Merge remote-tracking branch 'upstream/master' 2013-08-07 17:13:51 +02:00
Bård Skaflestad
8e63169073 Merge pull request #310 from andlaus/allow-nolib
Build system: make it work for modules which do not need libraries
2013-08-07 08:12:47 -07:00
Andreas Lauser
0d14d25ef5 Build system: make it work for modules which do not need libraries 2013-08-07 16:06:05 +02:00
Bård Skaflestad
75c08b44d1 Merge remote-tracking branch 'upstream/master' 2013-08-07 10:20:53 +02:00
Bård Skaflestad
d67f0c74d4 Merge pull request #309 from rolk/309_clean
Have distclean target keep up with build improvements
2013-08-07 01:20:36 -07:00
Roland Kaufmann
0d2b7e63e7 Have distclean target keep up with build improvements
If you run `cmake --build . -- distclean` all generated files will
now be gone! This adds the files that have been introduced in later
improvements to the build system.
2013-08-07 10:08:58 +02:00
Roland Kaufmann
51546a5c5f Function has a different name in the parallel vs. serial version 2013-08-07 01:13:08 +02:00
Roland Kaufmann
de83e28880 Use parallel version if and only if MPI is installed 2013-08-07 01:12:26 +02:00
Roland Kaufmann
142b5ed3f0 Enable use of parallel version of MUMPS
If we have enabled MPI, then we must call MPI_Init and MPI_Finalize
in the program anyway so we may as well use the parallel version of
MUMPS.
2013-08-07 00:32:52 +02:00
Roland Kaufmann
702582cdec Use system-provided MUMPS library for AGMG
This require us to compile in a small glue module which maps the
name of the internal routine to the system routine.
2013-08-07 00:28:33 +02:00
Roland Kaufmann
39833dc591 Don't add AGMG in an ad-hoc way
Use the standard prerequisite list instead.
2013-08-07 00:11:40 +02:00
Roland Kaufmann
9b8e53c0b7 Make opm-core pick up AGMG through the standard list 2013-08-07 00:10:47 +02:00
Roland Kaufmann
50d4f5aa25 Allow packages to add source code to the project
By returning a ${package}_SOURCES variable with the names of the code,
it will be propagated to ${project}_SOURCES and subsequently compiled
into the library.

AGMG (Algebraic Multigrid) uses this functionality.
2013-08-07 00:08:43 +02:00
Bård Skaflestad
f0c718fcaf Merge remote-tracking branch 'upstream/master' 2013-08-06 23:41:34 +02:00
Bård Skaflestad
273d70bebb Merge pull request #307 from rolk/307_clang
Recognize Clang to be a GCC-compatible compiler
2013-08-06 14:25:16 -07: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
Bård Skaflestad
ee4514836c Merge remote-tracking branch 'upstream/master' 2013-08-06 22:48:39 +02:00
Bård Skaflestad
1168d19b43 Merge pull request #306 from rolk/306_ninja
Enable support for Ninja build generator
2013-08-06 13:48:05 -07:00
Roland Kaufmann
ec45e78a77 Enable support for Ninja build generator
Use the Ninja build generator if '--enable-ninja' is passed on the
command line to ./configure (or of course if -GNinja is passed
directly to CMake).
2013-08-06 22:13:44 +02:00
Bård Skaflestad
af07e2cb76 Merge remote-tracking branch 'upstream/master' 2013-08-06 21:56:00 +02:00
Bård Skaflestad
4557625b04 Merge pull request #305 from rolk/305_openmp
Provide a define for having OpenMP
2013-08-06 12:54:51 -07:00
Roland Kaufmann
2aced6ea25 Fix bug in determining if directory is found
The parenthesis is to make it less ambiguous how the boolean expression
should be evaluated.
2013-08-06 00:04:08 +02:00
Roland Kaufmann
aa01cf3014 Make available version numbers for these modules 2013-08-06 00:04:08 +02:00
Roland Kaufmann
ba16f55b7f Probe DUNE module version number from installation
Figure out where the closest dune.module is, and parse it for
information. The defines are added to config.h, so that our code
may behave differently for various versions available.

It actually works for opm-core 1.0 as well, but don't tell anyone;
we rather want people to use opm/core/version.h instead.

If a module has been backported and installed to a directory which
also contains the version number, e.g. /usr/include/dune-2.3, to
avoid clashing with an existing version in /usr/include, then this
part is now stripped from the include directory and added back to
the lib directory where we are looking for dune.module
2013-08-06 00:04:07 +02:00
Roland Kaufmann
f37e8cc402 Provide a define for having OpenMP 2013-08-05 21:54:31 +02:00
Roland Kaufmann
22a70f1438 Give template for adding version requirement 2013-08-05 21:09:09 +02:00
Roland Kaufmann
1490cd7389 Provide hook to configure getting other's version
This hook together with the bundled convenience macro makes it
possible to add the version of another module to config.h using
code like this:

macro (config_hook)
  opm_need_version_of ("dune-common")
endmacro (config_hook)
2013-08-05 21:09:09 +02:00