Commit Graph
224 Commits
Author SHA1 Message Date
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
Andreas Lauser 5e73968b57 configure script: add a stub implementation for the --config-cache argument
so far, it is only a flag which prevents the cache from being
deleted. To warn the user about a potential infinite loop, a warning
is printed if this flag was specified and some compiler or some compiler
flags were set by the user. This idea was proposed by Roland Kaufmann.
2013-11-25 11:38:15 +01:00
Andreas Lauser ba4c7400ba configure script: also delete the cmake cache
This replicates the autotools behavior and was suggested by Roland
Kaufmann.
2013-11-25 11:38:14 +01:00