- was applied precision-specific information:
* instead of linux64Gcc [correct]
* was using linux64GccInt32 [wrong]
This problem does not the regular use where CGAL is defined from
etc/config.sh/CGAL since the CGAL_ARCH_PATH specified there was properly
respected.
- configure with the arch + package only for the prefix.
When OPAL_PREFIX is unset, yields this type of information:
Prefix: /linux64Gcc/openmpi-4.0.3
Libdir: /linux64Gcc/openmpi-4.0.3/lib
This ensures that the final binaries do not have the original build
location, which makes for more reliable testing before shipping.
ENH: improve handling of header-only CGAL
- test for existence now also checks our cached build information
for header-only configuration
- cleanup build artifacts from boost (in-source build).
Skip install of generated man, info, doc pages.
These are usually browsed/searched elsewhere anyhow.
- 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)
- use MPI_ARCH_PATH to provide an MPI hint when making ParaView, VTK
and ADIOS.
This should align the detected MPI with what OpenFOAM itself is
using. Option -mpi-home to override.
- reduces ThirdParty inter-dependency.
Only useful for reading in graph files, which are not used
internally by OpenFOAM.
- Was already removed for Mingw compilation.
- 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
- initialise some commonly used variables
- add library function for checking library existence that also
accounts for windows cross-compilation targets