Commit Graph

226 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
3b80724581 Update Eigen requirements. 2014-05-21 13:57:16 +02:00
Andreas Lauser
d9920e34eb make the "-Wl,--as-needed" flag optional
as there is not much harm done if it is not used but it may cause the
build to fail if it is present (read: it causes _my_ build to fail),
it defaults to OFF.
2014-04-22 13:35:26 +02:00
Andreas Lauser
4fd75a4433 do not add the "-Wl,--as-needed" linker flag in FindSuiteSparse.cmake
because if umfpack is fully linked but some other library is
underlinked, it causes the build to fail. This flag is better dealt
with in the "UseOnlyNeeded.cmake" module...
2014-04-22 13:35:25 +02:00
Atgeirr Flø Rasmussen
d3ec9f63ff Fix option name to match name in use in conditional.
Also add a useful doc string.
2014-04-22 13:35:24 +02:00
Andreas Lauser
73db2c388c add support for the UG grid library
recently UG has become free software (yay!), so we can now support it
with a good conscience. The CMake module is based on the "UseUG.cmake"
module of dune-grid but it is quite a bit simpler and actually
works. (I cannot see how UseUG.cmake can work without ever including
the ug-config*.cmake files...)

the UG source code is available here:

https://github.com/ugfem/ug
2014-04-22 13:35:23 +02:00
Atgeirr Flø Rasmussen
5b79c0247f Change option name and generated header names. 2014-04-22 13:34:59 +02:00
Atgeirr Flø Rasmussen
682d8c394e Added more warnings to suppression list, sorted list. 2014-04-22 13:33:35 +02:00
Arne Morten Kvarving
cd95b9da9d add option to quell dune(-istl) warnings 2014-04-22 13:32:29 +02:00
Bård Skaflestad
81394512b4 Search for MPI support
The build system depends on knowing if MPI is available.  Explicitly
search for MPI to honour that requirement.  Don't rely on ISTL's
transitive searching for the same.
2014-04-22 13:31:08 +02:00
Markus Blatt
33a2d23a02 Export HAVE_DUNE_ISTL for other modules.
This is e.g. needed in the parallel version of autodiff to
test whether ISTL is there.
2014-04-22 13:31:07 +02:00
Markus Blatt
e1e9e677a3 [buildsystem] Make dune-cornerpoint a suggestion. 2014-03-13 15:27:45 +01:00
Kristian Flikka
d4a7bcd8e4 Only look for BOOST´s unit test framework module if not already found. Sync version with rest of system 2014-03-11 20:09:11 +01:00
Bård Skaflestad
1ce36d7c06 Elucidate description string for opm-parser.
The 'opm-parser' module is (currently) designed to parse ECL-type
simulation models.  Reflect that fact in its description.
2014-03-11 20:09:10 +01:00
Bård Skaflestad
f482e89e48 Defer searching for opm-parser
The "opm-parser" module is expected to become dependent upon the ERT
library.  Defer searching for the parser module until we've
established whether or not ERT is availble.

Suggested by: @andlaus
2014-03-11 20:09:09 +01:00
Bård Skaflestad
e63a396579 Restore C++-11 checks
While reformatting the parser-prereqs file I accidentally replaced
the feature search 'CXX11Features' with 'CXX10Features'.  This
commit fixes that blunder.
2014-02-28 22:10:41 +01:00
Bård Skaflestad
9329d652fd Fix mis-merge.
In propagating the requirements for opm-benchmarks to the other
modules I accidentally removed the 'opm-parser' prerequisite (see
commit 86439d6 for details).  This commit restores that prerequisite.
2014-02-28 20:05:55 +01:00
Bård Skaflestad
dfe457624e Depend on Boost.Iostreams
The benchmark library uses Boost::iostreams to do decompression. Since
we only scan for the Boost dependency once, this submodule is added to
all of the projects in order to have a coherent dependency on Boost.
2014-02-28 19:30:06 +01:00
Bård Skaflestad
8314ea3595 Reformat prerequisite file according to convention
This commit makes a few adjustments to the white-space of file
'opm-parser-prereqs.cmake' to honour the conventions of the other
*-prereqs.cmake files within the OPM project's module suites.

No functional changes.
2014-02-28 19:30:06 +01:00
Bård Skaflestad
41032a8ee4 Uniformly raise Boost version requirement to 1.44
Commit 70505ff raised opm-core's "Boost" requirement to version 1.44
in order to reflect the requirements of the opm-parser module.  This
commit propagates that requirement to all other known modules.
2014-02-28 19:30:06 +01:00
Roland Kaufmann
b9c4adff9e Depend on Boost::iostreams
The benchmark library uses Boost::iostreams to do decompression. Since
we only scan for the Boost dependency once, this submodule is added to
all of the projects in order to have a coherent dependency on Boost.
2014-02-28 19:30:06 +01:00
Roland Kaufmann
cd9012152d Provide dependency information for opm-benchmarks 2014-02-28 19:30:06 +01:00
Markus Blatt
769b9e8419 Do not use find_package in config mode for opm-parser.
Currently opm-parser does not create opm-parser-config.cmake files. Therefore
building with duncontrol fails as it sets opm-parser_DIR. With this patch
we force CMake to always use module mode for finding which fixes this.
2014-02-28 17:55:36 +01:00
Markus Blatt
2fbe70e8a8 Removed printf debugging messages 2014-02-28 17:55:35 +01:00
Markus Blatt
e99e947927 Support more arbitrary sibling/subdir build directories for opm-parser. 2014-02-28 17:55:34 +01:00
Markus Blatt
991e909af9 Whitespace change that replaces introduced tab with spaces. 2014-02-28 17:55:33 +01:00
Markus Blatt
7cc3a13c2c Makes arbitrary build subdirectories possible.
Instead of guessing the suffix or subdir of the build directory,
we now simply compare PROJECT_{BINARY,SOURCE]_DIR to detect it.
By this e.g. opm-core/opm-parallel is a possible build directory, too.
2014-02-28 17:55:32 +01:00
Markus Blatt
ea9f088126 Corrects required version and make Eigen3 download work.
At least on Debian requiring version 3.1 of Eigen3 is not sufficient
according to issue #25 the minimum version is 3.1.2. This patch fixes
the required version. In addition it skips the REQUIRED option passed
to find_package(Eigen3) to make the git download work.

Fixes #25.
2014-02-28 17:53:51 +01:00
Roland Kaufmann
0635670ac8 Declare a need to know if BOOST is available
Note that the variable HAVE_DUNE_BOOST is not set by FindBoost,
but by OpmAliases.
2014-02-28 17:52:27 +01:00
Roland Kaufmann
ab926cd82c Declare a need to know if UMFPACK is available
Note that the variable HAVE_UMFPACK is not set by FindSuiteSparse,
but by OpmAliases.
2014-02-28 17:52:26 +01:00
Roland Kaufmann
8cbfaa3c14 Create aliases for probed variables
Headers from other libraries (notably DUNE) require definitions of
other variables than our probe process set (e.g. HAVE_UMFPACK instead
of HAVE_SUITESPARSE_UMFPACK_H). This module sets those aliases for
compatibility.
2014-02-28 17:52:25 +01:00
Andreas Lauser
d9228403d4 OpmFind.cmake: also check for CAPITALIZED found variables
thanks to @rolk for catching this
2014-02-28 17:52:24 +01:00
Andreas Lauser
113162263d OpmFind.cmake: prevent multiple calls to the same module in the same run
this prevents to check for the same module more than once in the same
cmake run and should thus speed things up a bit as well as make the
output a bit cleaner. For this I assumed that the ${name}_FOUND cmake
variable does not get cached, which it seems like it does not...
2014-02-28 17:52:23 +01:00
Andreas Lauser
5601eece73 cmake: make sure all calls to message() exhibit a type 2014-02-28 17:52:22 +01:00
Roland Kaufmann
0a35670b7b Terminology instead of Notation as section header
Notation implies that we are going to be given symbols which
represents values or such (which arguably could be true since the
path is a particular value, and from programming we are used to
multi-letter symbols perhaps also with whitespace, but it's a
stretch), but Terminology is more accurate, as this section
describes fits the definition better: it is a vocabulary of
technical terms.

Hat tip: @bska
2014-02-28 17:52:21 +01:00
Roland Kaufmann
b06d1a32a5 Document modules and structures in the build system
Give a brief description of each of the modules that comprises the build
system, and the suffices that is used to form a virtual structure of
variables for each project.
2014-02-28 17:52:20 +01:00
Roland Kaufmann
9f1934570b Only add linker option if it is not really there
This code is run unconditionally each time we do a reconfigure; if the
option is added at each time, they will accumulate (needlessly) on the
command-line, making it harder to inspect the log.
2014-02-28 17:52:19 +01:00
Roland Kaufmann
3112e465a0 Provide CMake find module for opm-autodiff
If the module root is not explicitly specified, the loading of its
configuration is delegated to a find module, which does a heuristic
search in known/surrounding directories. Most OPM modules use the
common logic in OpmPackage; this patch configures the search
specifically for opm-autodiff.
2014-02-28 17:52:18 +01:00
Joakim Hove
fb3824e0da Raised the opm-core boost dependency to 1.44 to reflect parser requirement 2014-02-28 17:52:14 +01:00
Joakim Hove
b834cfb899 Removed explicit cJSON dependency from opm-core 2014-02-28 17:52:13 +01:00
Joakim Hove
c3c3817d80 Added required dependencies on opm-parser and CJSON 2014-02-28 17:50:20 +01:00
Joakim Hove
0138fc43ef Merged upstream/master 2014-01-29 15:25:21 +01:00
Markus Blatt
35f0f5f5be [cmake,bugfix] Corrects required version and make Eigen3 download work.
At least on Debian requiring version 3.1 of Eigen3 is not sufficient
according to issue #25 the minimum version is 3.1.2. This patch fixes
the required version. In addition it skips the REQUIRED option passed
to find_package(Eigen3) to make the git download work.

Fixes #25.
2014-01-15 13:15:13 +01:00
Joakim Hove
44e02ead25 Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2013-11-27 14:07:36 +01:00
Andreas Lauser
633dd9c945 configure: fix all except one warning produced by shellcheck
thanks to @bska for pointing this tool out!
2013-11-25 18:33:26 +01:00
Joakim Hove
4ea99a96d9 Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2013-11-25 16:00:12 +01:00
Andreas Lauser
d07b201656 fix syntax error in configure shell script
strangly enough, it seems to work like it was in some circumstances...
2013-11-25 13:29:45 +01:00
Roland Kaufmann
847d8fe924 Only add parent directories for actual variants
Otherwise we'll inadvertedly add the root directory and will probably
find the system implementation underneath there.
2013-11-25 11:38:24 +01:00
Roland Kaufmann
47eb8a0549 Only add build sub-directory if it is actually used
Otherwise the search will cascade down one level too many.
2013-11-25 11:38:23 +01:00
Roland Kaufmann
ce569c75d4 Search in build/ sub-dir if only suite root is given
If the package suite was given (e.g. DUNE_ROOT=/blum), then the code
set up the root for each individual package automatically (e.g.
DUNE_COMMON_ROOT=/blum/dune-common), but the path which was then
activated did not get the local build sub-directory (e.g. if we are
building opm-autodiff in /frub/opm-autodiff/build, then the local
build directory is "build/"), and thus this was not appended to the
library search path. The result was that the source was found (because
the root pointed to a valid source tree), but the library was not
(because it is "hidden" in the subdirectory).
2013-11-25 11:38:22 +01:00
Andreas Lauser
4c246092b6 include the latest review comments by Roland Kaufmann 2013-11-25 11:38:21 +01:00