- the various make scripts now also search hierarchical sources,
which makes it easier to organize sources. The secondary
sub-directory is the lower-case value of the package stripped of
trailing non-alphabet characters.
For example, searching for ParaView-v5.9.1
sources/
|-- adios
| |-- ...
| |-- ADIOS2-2.7.1
| \-- adios-1.13.1
|-- cgal
| |-- CGAL-4.12.2
| \-- CGAL-4.14.2
| ...
|-- openmpi
| |-- openmpi-4.0.3
| \-- openmpi-4.1.1
|-- paraview
| |-- ParaView-v5.6.1
| \-- ParaView-v5.9.1
\-- scotch
...
- additional out-of-source build options
FOAM_THIRD_PARTY_BUILDROOT :
Replace WM_THIRD_PARTY_DIR as the root for build/ and platforms/
FOAM_THIRD_PARTY_SOURCES :
Alternative to WM_THIRD_PARTY_DIR/sources/
- rationalise internal package variable names for easier maintenance
- Use WM_LABEL_SIZE to explicitly define INTSIZE32 or INTSIZE64, which
ensures that SCOTCH_Num appears as (int32_t | int64_t) and avoids
any ambiguity that a plain 'int' may have.
- Provide library symlinks to the respective label-size.
Eg, libscotch.so -> libscotch-int32.so
This provides a unique library linkage name that avoids ambiguity
with system-installed libraries.
- Use IDXSIZE64 (memory addressing width Fortran)
NOTE
Unfortunately -DINT32 seems to fail if openmpi was built without Fortran!
The MPI_INT32_T is interpreted as MPI_INTEGER4 which does not exist
- needs more investigation
ENH: scotch - document Makefile.inc by copying into the source directory
ENH: update kahip build to use cmake for newer versions
- simplifies creation of 64bit indexed libraries, for reuse
(with widening) by various OpenFOAM label sizes
- add -bin/-no-bin for metis (as per scotch)
- only test in the packages that actually require it.
State as a requirement.
ENH: skip build of packages with known mingw issues
- primarily kahip and pt-scotch.
Others may also have issues, but for these we tend to use system
packages anyhow.
ENH: add '-force' option to various scripts
- overrides some _lazy_ build logic
- linkage errors for ptscotch not yet solved
CONFIG: add -I. for ThirdParty wmake Make/options
- some <headers> might otherwise be missed with the change to
'-iquote' for general wmake rules