opmcore_LOCATION is the directory which contains libopmcore.so, whereas
opmcore_LIBRARY_DIRS are all the directories that must be added to link.
As of now, these two are the same, but should be kept separate in case
more directories must be added (one is an item, the other is a list).
Also cleaned up the description of the variables in the header.
There is no need to use Bash-specific operators when the pure sh(1)
built-in test operators have the exact same semantics. This increases
portability to systems for which /bin/sh is *not* Bash (or Dash).
Specifically, the tests
if (!wells->type[self_index] == INJECTOR)
if (!wells->type[self_index] == PRODUCER)
produced the expected results *only* because INJECTOR==0 and PRODUCER==1
in the WellType enumeration, thus (!INJECTOR == PRODUCER) and
(!PRODUCER == INJECTOR).
Installing the (much) more appropriate
if (wells->type[self_index] != INJECTOR)
if (wells->type[self_index] != PRODUCER)
is not only more readable, it is also future-proof and scales better if
we ever introduce new WellTypes (e.g., a MONITOR).
Using headers and libraries from a DUNE built with different options
than OPM, can result in strange ABI errors such as a segmentation
fault in the static initialization section.
Load average of 0.9 is something that even a PhD student's crappy
laptop computer should be able to handle, without completely killing
it.
It really should be something like:
make -j -l $(echo \($(grep "^processor" /proc/cpuinfo)+1\)\*0.9 | bc)
but that is probably far too complex to put in a README. The average
developer should be able to pick a reasonable value themselves.
It complains about not finding a match for the pair<> template class,
because the first parameter (this) is allegedly const. However, this
isn't a const method, so I suspect it is a compiler bug.
In order to move on, I slap on a harmless cast which will make this
particular compiler happy, and which should have no effects elsewhere,
but put it in a #if..#else..#endif macro to avoid warnings on others;
hopefully this also makes it easier to spot and remove in the future.
Client programs/libraries that uses CMake as their build system should
be able to point at the directory of a OPM-core build tree and have its
library picked up from there.