Commit Graph

227 Commits

Author SHA1 Message Date
Andreas Lauser
e268f8a825 dune-alugrid is optional, not required! 2014-07-30 12:52:49 +02:00
Andreas Lauser
a38c9b357a ewoms: make it possible to use the dune-alugrid module instead of the ALUGrid manager in dune-grid 2014-07-30 12:48:33 +02:00
Andreas Lauser
d8c6d01e92 add support for the new DUNE-ALUGrid module
this is basically the dune-grid grid manager for ALUGrid properly
out-sourced into an own module. (it does not require an external
library anymore, so it simplifies the build quite a bit.) Also, the
DUNE-ALUGrid module has quite a few new features and performance
improvements compared to the old code from dune-grid. For details, see

http://users.dune-project.org/projects/dune-alugrid
2014-07-30 12:48:33 +02:00
Andreas Lauser
0533c10fa8 Find-ewoms.cmake: update prerequisites 2014-07-25 15:37:57 +02:00
Andreas Lauser
a5da277101 Build system: mark ERT as REQUIRED
de facto, this does not change anything because opm-parser is required
and it has a hard dependency on ERT. It is good style to declare all
prerequisites explicitly in each module, though. Thanks to [at]bska
for the catch.
2014-07-25 15:35:19 +02:00
Andreas Lauser
316cf05666 ERT: link to the pthreads library
this is required to make the opm-core build succeed if ERT was build
with -DBUILD_SHARED_LIBS=OFF . (without it, I get errors like

    /home/and/src/ert/devel/libert_util/src/thread_pool_posix.c:328: error: undefined reference to 'pthread_create'
2014-07-25 15:30:37 +02:00
Arne Morten Kvarving
a3c8632358 fixed: ERT depends on libdl
this issue was triggered with static libs for ERT
2014-07-24 21:08:47 +02:00
Andreas Lauser
f6ce0d0f64 use extended regular expressions in the test for std::regex
for some compilers (e.g., GCC < 4.9) the default is buggy and
opm-parser thus uses extended expressions...

thanks to [at]bska for digging this up!
2014-07-08 13:30:42 +02:00
Andreas Lauser
17dbe13a7f FindCXX11Features: check for a usable std::regex
and add a config.h variable in the opm-parser test.
2014-07-07 18:05:16 +02:00
Andreas Lauser
9e8576273f syncronize build system with opm-core 2014-06-29 14:51:34 +02:00
Arne Morten Kvarving
9dcc42df69 fixed: dune-cornerpoint (now) needs the dune-common version information 2014-06-29 14:46:04 +02:00
Atgeirr Flø Rasmussen
6e546f9883 Fix option name to match name in use in conditional.
Also add a useful doc string.
2014-06-29 14:46:02 +02:00
Arne Morten Kvarving
9372bd967d added: hook for conditionally compiled files
backport from opm-upscaling PR#100
2014-06-16 16:25:20 +02:00
Andreas Lauser
b7b285f7ad synchronize the build system with opm-core 2014-04-23 16:51:03 +02:00
Andreas Lauser
ccfbb87021 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-23 16:48:39 +02:00
Andreas Lauser
4b46bb1237 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-23 16:48:30 +02:00
Bård Skaflestad
1122820f82 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-23 16:46:47 +02:00
Andreas Lauser
ce41f40a5f 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-23 16:44:06 +02:00
Markus Blatt
f86221a1b1 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-23 16:43:00 +02:00
Kristian Flikka
7e11580f46 Only look for BOOST´s unit test framework module if not already found. Sync version with rest of system 2014-03-11 20:43:04 +01:00
Bård Skaflestad
866ec26a49 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-05 16:30:55 +01:00
Bård Skaflestad
c361ac6e95 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-05 16:30:54 +01:00
Bård Skaflestad
d690613f72 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-03-05 16:30:54 +01:00
Bård Skaflestad
688cabc33d 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-03-05 16:30:54 +01:00
Bård Skaflestad
4dc6f83729 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-03-05 16:30:54 +01:00
Bård Skaflestad
d5692b85b6 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-03-05 16:30:54 +01:00
Joakim Hove
02d4f6c414 Set the boost version requirement to 1.44 - and added cJSON dependency 2014-03-05 16:30:54 +01:00
Bård Skaflestad
0b5bf98664 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-03-05 16:30:54 +01:00
Roland Kaufmann
58a69ff465 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-03-05 16:30:54 +01:00
Roland Kaufmann
57c96507e6 Provide dependency information for opm-benchmarks 2014-03-05 16:30:54 +01:00
Joakim Hove
65f034a665 Raised the opm-core boost dependency to 1.44 to reflect parser requirement 2014-03-05 16:30:54 +01:00
Joakim Hove
b034004e9b Added CJSON_INCLUDE_DIRS to OPM_PARSER_INCLUDE_DIRS 2014-03-05 16:30:54 +01:00
Joakim Hove
b90d03593a Removed explicit cJSON dependency from opm-core 2014-03-05 16:30:54 +01:00
Joakim Hove
95c1417513 Added required dependencies on opm-parser and CJSON 2014-03-05 16:30:54 +01:00
Markus Blatt
795fab277b 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-20 13:13:11 +01:00
Markus Blatt
5f5414c337 Removed printf debugging messages 2014-02-20 13:13:11 +01:00
Markus Blatt
800edb2967 Support more arbitrary sibling/subdir build directories for opm-parser. 2014-02-20 13:13:11 +01:00
Markus Blatt
a67814c846 Whitespace change that replaces introduced tab with spaces. 2014-02-20 13:13:11 +01:00
Markus Blatt
f1970950f3 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-20 13:13:11 +01:00
Markus Blatt
4d35b06c35 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-24 15:45:57 +01:00
Roland Kaufmann
75ab13e802 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-01-24 15:45:57 +01:00
Roland Kaufmann
44238f4b0c Declare a need to know if UMFPACK is available
Note that the variable HAVE_UMFPACK is not set by FindSuiteSparse,
but by OpmAliases.
2014-01-24 15:42:35 +01:00
Roland Kaufmann
ada5da71d3 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-01-24 15:42:35 +01:00
Roland Kaufmann
35d44ad5e4 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-01-24 15:42:33 +01:00
Roland Kaufmann
b9c1ff25f3 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-01-24 15:42:33 +01:00
Andreas Lauser
476aeac81b OpmFind.cmake: also check for CAPITALIZED found variables
thanks to @rolk for catching this
2014-01-24 15:42:33 +01:00
Andreas Lauser
bd9e93058b cmake: make sure all calls to message() exhibit a type 2014-01-24 15:42:33 +01:00
Andreas Lauser
f0ec20dd95 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-01-24 15:42:33 +01:00
Roland Kaufmann
9f4c145f09 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.
2013-12-12 15:48:30 +01:00
Roland Kaufmann
99d9c9092d 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.
2013-12-12 15:48:30 +01:00