Commit Graph

572 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
fb458b71a0 Merge pull request #63 from bska/063_cmake
Synchronise build system with opm-core
2013-11-25 13:55:40 -08: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
Atgeirr Flø Rasmussen
cd2ecc15a9 Merge pull request #62 from bska/062_cmake
Synchronise build system with opm-core
2013-11-25 05:52:05 -08: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
Atgeirr Flø Rasmussen
fb672abee9 Merge pull request #61 from bska/061_cmake
Synchronise build system with opm-core
2013-11-25 03:52:32 -08: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
Andreas Lauser
2e9272384d build system: prevent endless loop when using dunecontrol
this seems to be a bug in cmake 2.8.10.2: if the user sets the
CMAKE_CXX_COMPILER variable for a build directory where this variable
has already been set, one gets an endless loop. This stings especially
if using the dunecontrol compatibility layer as the compiler flags are
unconditionally set via the CXX_FLAGS environment variable in the
options file. Running duncontrol on a module twice will thus trigger the
infinite loop if some compiler flags are set by the user.

The solution is relatively simple: Delete the CMakeFiles directory
before calling cmake. for the dunecontrol compatibility mode, we do
this in the configure script. For details about the cmake bug, see
http://www.cmake.org/Bug/view.php?id=14119
2013-11-25 11:38:13 +01:00
Joakim Hove
2405462a38 Changed the check_cxx_source_compiles() in Findopm-parser to look for Deck.hpp; Parser.hpp had uneccasary complicated interaction with cJSON 2013-11-25 11:38:12 +01:00
Andreas Lauser
c1d8d953c1 fix test for HAVE_QUAD on some instances of ubuntu 13.10
I haven't figured out why this happens, but on one of my computers
running kubuntu 13.10 g++ says the following if one tries to use
quadruple precision math:

/home/erne/src/ewoms/ewoms/common/quad.hh: In static member function ‘static quad std::numeric_limits<__float128>::min()’:
/home/erne/src/ewoms/ewoms/common/quad.hh:52:14: error: unable to find numeric literal operator ‘operator"" Q’
     { return FLT128_MIN; }

since this happens only on this machine and only with the c++ (but
not the C) compiler, i suppose that this is either an upgrade issue
with kubuntu or an issue with the ubuntu gcc stack. Strangely enough,
my other kubuntu machine does not have a problem with that...

In any case also testing for assignability of constants and using the
C++ compiler for the quadmath test won't hurt...
2013-11-25 11:38:11 +01:00
Bård Skaflestad
22b2cc4a6b Merge pull request #49 from andlaus/fix_clang_warnings
fix a few clang 3.3 warnings
2013-11-14 05:42:26 -08:00
Andreas Lauser
1c62934034 fix some clang 3.3 warnings
The most severe change probably is the removal of the AutoDiff
debugging helper functions which were useful from within a debugger
but unfortunately had to rely on a presumed linker bug in order not to
be removed in the final binary.

Also, some private attributes were unused. These have been removed and
the constructors of their respective classes have been adapted. Once
their intended functionality is actually implemented, they should be
brought back on an as-needed basis.

Thanks to @bska for the review!
2013-11-14 14:33:38 +01:00
Atgeirr Flø Rasmussen
11c0982c18 Merge pull request #58 from bska/058_cmake
Synchronise build system with opm-core
2013-11-06 01:21:48 -08:00
Joakim Hove
40b6aadc98 Updated modules to find Opm-parser 2013-11-05 09:55:43 +01:00
Joakim Hove
a99277efdf Updated modules for Findcjson and Findopm-parser 2013-11-05 09:55:42 +01:00
Joakim Hove
eab166feea Added opm-parser-prereqs.cmake 2013-11-05 09:55:41 +01:00
Joakim Hove
aefaaf6e91 Added CMake find modules opm-parser and cjson 2013-11-05 09:55:41 +01:00
Roland Kaufmann
7e024a2cce Allow to search for multiple libraries in package
Some packages are split up in several library files, where each of them
doesn't have their own CMake find-module. So we cannot put this list in
the prerequisites. Unlike the headers, where we just add the directory,
all the libraries must be explicitly named on the link line. Thus, we
should allow to specify more than one name in the lib parameter.

The first name specified is designated as the "primary" library and is
assigned to the _LIBRARY variable; the others occur in _LIBRARIES as if
they were prerequisites.

Note that the build system cannot replicate this setup itself; it always
assumes that we are building (at most) one library from the source
files.
2013-11-05 09:55:39 +01:00
Roland Kaufmann
cb89621813 Only add option for shared libraries once
The way the test was done previously, it was added for *every* option
after `--enable-shared`, not only that one.
2013-11-05 09:55:38 +01:00
Roland Kaufmann
c06a79f30b Specify dir. layout and stylesheets in common templates
These options should be common to all OPM modules to get the same look
for the generated documentation.
2013-11-05 09:55:36 +01:00
Arne Morten Kvarving
ecd2fb8382 make packaging compatible with EL5 2013-10-30 17:52:37 +01:00
Arne Morten Kvarving
3124f5c1a1 add redhat packaging 2013-10-30 13:22:04 +01:00
Bård Skaflestad
82d0ade060 Merge pull request #54 from atgeirr/allow-empty-jac
Add new AutoDiffBlock::constant() overload without block sizes.
2013-10-25 07:15:09 -07:00
Atgeirr Flø Rasmussen
478c87dd74 Reduce version to 0.9.
Since there is a fair chance of interface adjustments after the release,
the version number cautions the user a little bit more than calling it 1.0.
2013-10-25 14:56:54 +02:00
Atgeirr Flø Rasmussen
258d8e0e24 Avoid infinite loop with two constant operands. 2013-10-24 13:41:55 +02:00
Atgeirr Flø Rasmussen
1eec8b16d6 Fix bug in operator+ introduced by previous commit.
Also make documentation clearer.
2013-10-24 00:17:15 +02:00
Atgeirr Flø Rasmussen
46a17945a3 Fix minor whitespace issue. 2013-10-23 22:42:32 +02:00
Atgeirr Flø Rasmussen
b996959c61 Add new AutoDiffBlock::constant() overload without block sizes.
This should simplify some uses of the autodiff code. The internals
have been changed to allow for objects to have an empty vector of
Jacobians, always treating that object as a constant.
2013-10-23 20:09:55 +02:00
Bård Skaflestad
cdf30e5290 Merge pull request #53 from akva2/loosen_tolerance
loosen tolerance a bit to avoid failing tests on certain archs
2013-10-23 01:00:54 -07:00
Arne Morten Kvarving
278ad83e7f loosen tolerance a bit to avoid failing tests on certain archs (i386, precise) 2013-10-23 09:41:26 +02:00
Arne Morten Kvarving
5a9347ff1a add debian packaging 2013-10-22 13:02:12 +02:00
Atgeirr Flø Rasmussen
cdfeb8c69e Merge pull request #51 from bska/fix-exception-message
Fix convergence failure exception message
2013-10-22 02:14:48 -07:00
Bård Skaflestad
faa3646a52 Fix convergence failure exception message
The message was a leftover from the ImpesTPFA solver and should
reflect the actual location.

Noticed by: qilicun (Liu Ming)
Fixes: Issue #50
2013-10-22 10:11:53 +02:00
Atgeirr Flø Rasmussen
cbd79ed2ad Merge pull request #48 from bska/048_cmake
Synchronise build system with opm-core
2013-10-21 06:51:56 -07:00
Roland Kaufmann
615b88b345 Install header-only pkgconfig file to generic lib/
The previous version assumed that we had libraries, and thus always
installs the .pc file in the multi-arch library directory. However,
we now have modules which does not have a library, but whose header
files still need to be located. Since the lib/ directory is usually
in the pkgconfig search path, it is natural to put them there.
2013-10-21 15:25:22 +02:00
Bård Skaflestad
2c8513b760 Merge pull request #47 from atgeirr/bump-version
Bump version number and label.
2013-10-21 06:09:10 -07:00
Atgeirr Flø Rasmussen
f75f1d414f Bump version number and label.
Set version number to 1.0 since core class AutoDiffBlock is quite well-tested
and documented. Prototype solvers and simulators may not yet warrant that
version number, but are stated to be experimental in the README.
2013-10-21 14:44:52 +02:00
Bård Skaflestad
b3ddd940e4 Merge pull request #46 from atgeirr/fix-lackofpow
Alternative fix for Eigen versions lacking pow(Eigen::Array).
2013-10-21 04:21:42 -07:00
Atgeirr Flø Rasmussen
f40271d96c Minimal fix for Eigen versions lacking pow(Eigen::Array). 2013-10-20 22:02:32 +02:00
Bård Skaflestad
f4dfab1e37 Merge pull request #44 from akva2/fix_roundoff_issue_in_syntax_test
changed: run test for a x different than pi
2013-10-16 03:44:08 -07:00
Arne Morten Kvarving
e8386a32c1 changed: run test for a x different than pi
this to workaround roundoff differences occuring near sin(pi) on
different compilers/hardware
2013-10-16 11:35:47 +02:00
Bård Skaflestad
0c13b92315 Merge branch '044_cmake'
Synchronise build system with opm-core
2013-10-11 14:41:39 +02:00
Roland Kaufmann
9338810b6e Allow static linking for SuiteSparse to be forced
If -DSUITESPARSE_USE_STATIC=ON, then the build system will only look for
static versions of the libraries that are part of SuiteSparse, even if
dynamic/shared versions are present on the system. Thus, the default of
preferring dynamic libraries can be overridden.

SuiteSparse is rarely built ourselves, but still uncommon enough to not
be present on computing clusters.

This patch allows us to install the libraries on a workstation, for
instance from package suitesparse-devel and link to it statically
without having to maintain our own build tree.
2013-10-11 14:40:57 +02:00
Atgeirr Flø Rasmussen
c6b1d204ba Merge pull request #43 from bska/043_cmake
Synchronise build system with opm-core
2013-10-09 01:29:43 -07:00
Roland Kaufmann
5a2e633f9d Pass BUILDNAME and SITE options along to CTest/CDash
By passing these options through ./configure, one can use dunecontrol
to build a complete stack and still get a customized description in
CDash (such as when building in a cluster or VM where the actual machine
name does not matter, or when you want to add key options to the name
shown) without having to run a second configuration just to set those
in the cache.

Also fixes a bug where --with-cmake would skip any further option
specified after it.
2013-10-08 17:44:06 +02:00
Atgeirr Flø Rasmussen
5afee4b993 Merge pull request #42 from bska/042_cmake
Synchronise build system with opm-core
2013-10-07 07:09:02 -07:00