Commit Graph

3052 Commits

Author SHA1 Message Date
Roland Kaufmann
4dbc976cbd Merge branch 'cmake' 2013-02-12 00:18:19 +01:00
Roland Kaufmann
4b24bb3664 Update building instructions for CMake 2013-02-12 00:17:49 +01:00
Bård Skaflestad
7139586a8a Catch up to changing location of ERT headers. 2013-02-11 23:08:29 +01:00
Roland Kaufmann
01a54e9907 Remove debug information put to output tree when distclean 2013-02-11 23:08:29 +01:00
Roland Kaufmann
51a8efa228 Disable precompiled headers for buggy compilers 2013-02-11 23:08:29 +01:00
Roland Kaufmann
be3f3385ad Provide compiler version as a separate macro 2013-02-11 23:08:29 +01:00
Roland Kaufmann
6bbcbd97db Compile examples as well 2013-02-11 23:08:29 +01:00
Roland Kaufmann
dac2b6cf81 Disable tutorials dependent on Umfpack if this is not found 2013-02-11 23:08:29 +01:00
Roland Kaufmann
6d1514d7ca Enumerate all files before we start disabling components 2013-02-11 23:08:29 +01:00
Roland Kaufmann
32b7e527ee Modularize compilation of tests and tutorials 2013-02-11 23:08:29 +01:00
Roland Kaufmann
eaf690f870 Make directory names available through variables as well 2013-02-11 23:08:29 +01:00
Roland Kaufmann
f67a066bdd Modularize copying of test input files 2013-02-11 23:08:28 +01:00
Roland Kaufmann
fc03931356 Rearrange header to get key info first 2013-02-11 23:08:28 +01:00
Roland Kaufmann
d9696c7ea4 Modularize default build settings 2013-02-11 23:08:28 +01:00
Roland Kaufmann
42cab79feb Modularize location of source files 2013-02-11 23:08:28 +01:00
Roland Kaufmann
7bfa115fb3 Modularize compilation of main library 2013-02-11 23:08:28 +01:00
Roland Kaufmann
293ea97fa9 Modularize installation target 2013-02-11 23:08:28 +01:00
Roland Kaufmann
e4e9c1cfaa Modularize documentation 2013-02-11 23:08:28 +01:00
Roland Kaufmann
d2e5361c35 Modularize dist-clean target 2013-02-11 23:08:28 +01:00
Atgeirr Flø Rasmussen
c58b4684b3 Use more functions in testing found umfpack
The HAVE_UMFPACK_WITHOUT_CHOLMOD test would generate a false success.
New test contains program with more calls to the umfpack API, reflecting
our actual usage.
2013-02-11 23:08:28 +01:00
Roland Kaufmann
642a0a71fc Strict option checking unless otherwise specified
Having option checking catches typos. Disabling the checking enable us
to use the same build options for a bunch of packages even though they
may not have the same dependencies.
2013-02-11 23:08:28 +01:00
Roland Kaufmann
79f64d2c16 Be more flexible about version number quoting
Some versions of libtool write quotes around the version number, some
do not; we must handle both cases.
2013-02-11 23:08:28 +01:00
Roland Kaufmann
12dfe529ff Don't distinguish between target and project variables
Since the project is only building one main target, the library, and
the other targets are just auxiliaries, then the distinction becomes
confusing and unnecessary.
2013-02-11 23:08:28 +01:00
Roland Kaufmann
ae6e5314e3 Remove hardcoded project names and directories
Everything is now set through variables, which means that we can
change the name of the project by just altering the header.
2013-02-11 23:08:28 +01:00
Roland Kaufmann
39dd997dc1 Clean extra files that has been added to configure 2013-02-11 23:08:27 +01:00
Roland Kaufmann
99f2a6e55f Output the name of the libtool archive generated
Enables us to take of this file in a custom clean rule.
2013-02-11 23:08:27 +01:00
Roland Kaufmann
d6b245f549 Explicitly specify language for precompiled headers
This will hopefully guide some (buggy) compiler variants to not start
interpreting the header as a full program, or at least give a more
sensible error message.
2013-02-11 23:08:27 +01:00
Roland Kaufmann
9020ef64e3 Only start parallel make if user hasn't already
The -j flag should only be submitted once. If we are enclosed by yet
another layer of makes, then it will have setup everything for this
sub-make to take part in the job pool.
2013-02-11 23:08:27 +01:00
Roland Kaufmann
4bf313d421 Run original make also for diagnostics
If you run make with -n switch, it would just print the forwarding
command. Now it should continue into the original make, having that
one printing its actions as well.
2013-02-11 23:08:27 +01:00
Roland Kaufmann
4d00754e01 Move stylesheets into Documentation/ folder
The Doxyfile is still in the root directory because this is more like
a configuration file, and also its presence will be a cue to some
users that Doxygen is possible to run on the project.
2013-02-11 23:08:27 +01:00
Roland Kaufmann
75c92fd91e Move old pkgconfig file back to be in sync with master 2013-02-11 23:08:09 +01:00
Roland Kaufmann
097068f9c1 Move now generic templates into cmake/ directory
Templates can now be reused across projects. The output files are still
put in the root of the output tree because that is where the client
programs will look for them.
2013-02-11 23:06:39 +01:00
Roland Kaufmann
f883d52f0f Make template instantiatable for multiple projects
The name "opm-project" is replaced by the real name of the project.
2013-02-11 23:06:39 +01:00
Roland Kaufmann
5c5a1e5c10 Don't hardcode the library name in templates 2013-02-11 23:06:39 +01:00
Roland Kaufmann
2f20314ffb Pick up description from one place 2013-02-11 23:06:39 +01:00
Roland Kaufmann
66772d4819 Move template to designated cmake/ directory 2013-02-11 23:06:38 +01:00
Roland Kaufmann
5af259f2e1 Report version hash when building
This will reduce the number of "which version are you using"-replies
because this can now be found in the log.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
45e00d88d7 Check the current commit of the project source code
Knowing which commit is being built and if there is any local
modifications to it can be of great help to pinpoint build problems.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
694f98b54a Reinstate figure directory for documentation
The directory must be specified with full path to refer to the source
directory. The images will not be referred to by this path, but rather
copied to the output directory (as of Doxygen 1.7.6.1 at least), unlike
the stylesheet (consistency is so last decade).
2013-02-11 23:06:38 +01:00
Tor Harald Sandve
8ea72fcec1 Use relative path to link style.css correctly from website
If an absolute path is specified, this will be embedded into the
generated files, which is of course not correct when put on another
host.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
33f3bc29e7 Allow in-source builds of ERT in sibling directory
The source code of ERT is located in a devel/ subdirectory, but it is
not usual (?) to have this structure in a separate build directory as
well. If you however build everything in the same directory as the
source code, then this sub-directory needs to be accounted for.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
bacd1c317c Use same default as DUNE; build as a static library
Packages should build with -DBUILD_SHARED_LIBS=ON
2013-02-11 23:06:38 +01:00
Roland Kaufmann
c28950c0f8 Link to core function to get more realistic test
Using umfpack_dl_solve as a test function increases the chance that the
probe will not be able to link successfully if it has not found all
libraries necessary (to link other than trivial test programs).
2013-02-11 23:06:38 +01:00
Roland Kaufmann
bee65647ad Write information file for libtool 2013-02-11 23:06:38 +01:00
Roland Kaufmann
2b7e3f8759 Generate libtool archive (.la) files
These files are text files which specify which platform specific
libraries we should be looking for. We need libtool installed to
use them, but they can be generated pretty inexpensively from the
CMake script itself.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
6f3a7baccd Add standard variables/location hints
There is a convention that one can do `pkg-config --variable=includedir`
and have it return the path to the source files (even if that should
have been taken care of by options in --cflags).
2013-02-11 23:06:38 +01:00
Roland Kaufmann
ae14059a15 Only write source path line once
If more than one match is written, then DUNE_CHECK_MODULES will return
several matches, which becomes a syntax error on the resulting command-
line. Thus, check if there is a match before writing anything.
2013-02-11 23:06:38 +01:00
Roland Kaufmann
33115d6f41 Put static libraries in the same directory as shared 2013-02-11 23:06:38 +01:00
Roland Kaufmann
1533271e03 Only install .debug files when building shared object
Static libraries usually holds the debug information together with the
library because they are not loaded directly (but linked together to an
executable, which can be stripped)
2013-02-11 23:06:37 +01:00
Roland Kaufmann
46975fc130 Enable building as a link in dunecontrol chain
Dunecontrol scans the module directory for certain files and phrases
which must be present if the project can be used as a dependency for
other DUNE modules.
2013-02-11 23:06:37 +01:00