81 Commits

Author SHA1 Message Date
1fdacf14dd ENH: separate basic CMakeFunctions from ParaViewFunctions
- allows more reuse of functionality
2023-12-12 19:34:33 +01:00
325e3e230d ENH: improve flexibility of make scripts
- 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
2021-12-09 16:30:28 +01:00
1f6835794f ENH: add etc/tools support for hierarchically named sources 2021-12-09 16:30:28 +01:00
2beb3cfbc9 CONFIG: respect existing value for WM_NUMCOMPPROCS (#59)
- avoids flooding a head-node during compilation.
2021-03-23 11:38:44 +01:00
f84990e906 CONFIG: avoid deprecated CMake variables (ParaView)
- 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.
2021-02-16 14:26:51 +01:00
834efe6dda COMP: handle forced use of gcc/g++ for wmake components
- does not change WM_OPTIONS or output directories, so that the target
  directories are correct.
2020-11-16 08:29:39 +01:00
507c01e485 CONFIG: add mpicc/mpicxx handling for Fujitsu MPI (issue #54)
- uses mpifcc/mpiFCC for mpicc/mpicxx, respectively
2020-08-07 13:49:45 +02:00
bdd4266e2f ENH: delay testing of FOAM_EXT_LIBBIN
- 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
2020-06-24 14:32:26 +02:00
78819144d3 DOC: add hint about scotch gitlab repo and paraview requirements (#52)
- add download hints for -help of various make scripts
2020-06-19 00:38:03 +02:00
6e03e1ecb4 CONFIG: simplify version range
- accept [0-9]* instead of attempting more restrictive specifications

CONFIG: makePETSC without fortran
2020-06-15 20:30:22 +02:00
69de80cd08 ENH: use OpenFOAM etc/config.sh/cmake (if it exists) for finding cmake 2020-05-02 21:09:21 +02:00
a4ba6b72f5 CONFIG: support updated location of wmkdepend binaries
- initialise some commonly used variables

- add library function for checking library existence that also
  accounts for windows cross-compilation targets
2020-04-15 20:32:39 +02:00
cd811d9b28 BUG: shell quoting needed for dash (fixes #48)
- arguments passed to stripCompilerFlags caused the misbehaviour
2020-01-20 14:50:29 +01:00
c8a7f46db2 STYLE: regularize quoting and exit on failed 'cd' 2019-11-19 16:17:01 +01:00
c41b591b30 COMP: adjust makeParaView for paraview-5.7.0 (uses python3) 2019-10-02 17:16:20 +02:00
a9f5058557 ENH: more forgiving if scotch is missing, provide download hints (#45)
- include makeAdios2 into the Allwmake list (as optional component)
2019-08-16 15:50:08 +02:00
17a443a557 BUG: export minimal compiler flags for VTK, ParaView (fixes #44)
- in 1906, we changed the handling of compiler flags to include the
  exact values as used by OpenFOAM.

  While this is needed for compiling some external programs -- see
  https://develop.openfoam.com/Development/OpenFOAM-plus/issues/1256
  for the discussion -- it appears to bring in flags that upset
  some of the ParaView (and possibly VTK) compilation.

  The culprits are likely to be found in the various '-W' switches,
  but for now we simply extract a mininal set of compiler flags
  that include -std=c++11 -m64 -fPIC, but no optimization flags,
  additional warnings flags or OpenFOAM-specific defines.
2019-07-29 13:55:04 +02:00
ae5b2326c0 ENH: provide separate makeSCOTCH script for independent use
- improve handling of scotch build toolchain

- relax the test for existence of libscotcherrexit, which can also be
  incorporated into libscotch itself
2019-04-29 18:51:05 +02:00
a7c2a4bfb9 STYLE: use EXT_SO instead of SO for consistency with wmake internal naming 2019-04-25 10:46:45 +02:00
770e22bf51 ENH: update handling of compiler and flags
- support use of wmake -show-xyz, as well as older WM_CC, WM_CFLAGS etc.

- add support for Makefile.inc for scotch

- add -toolset= option for making boost and use b2 instead of legacy
  bjam for configuration
2019-04-25 10:46:44 +02:00
830e92194a BOT: reformat headers 2019-04-12 08:54:50 +02:00
6e0c9f9d8b ENH: makeVTK -mpi also define VTK_Group_MPI=ON
- this pulls in the other bits (Module_vtkParallelMPI,
  Module_vtkRenderingParallel, ...)
2018-12-05 23:37:00 +01:00
013c7154ff STYLE: avoid spurious message about non-system qt
- arises when update-alternatives or similar are being used.
2018-12-04 18:33:45 +01:00
28e7982258 ENH: minor build script improvements
- add internal WM_SIZE_OPTIONS variable for reduced typing
- check for wmkdepend and wmkdep for wmake builds
- avoid egrep for getting processor count.
2018-12-03 08:45:29 +01:00
b71a60d122 ENH: add whichMpicxx function for C++ programs 2018-07-30 17:18:32 +02:00
0e599b7a64 ENH: add optional -clang flag for building gcc
- can be useful when bootstrapping
2018-07-18 09:39:12 +02:00
ff162da2f8 BUG: missing _foamEtc definition (fixes #38)
- this function definition (as per the OpenFOAM functions) is required
  for compatibility when sourcing some config files (eg, mpi).
2018-07-02 07:28:51 +02:00
4f844dabcf STYLE: use _foamConfig function instead of _foamEtc -config 2018-06-19 20:41:57 +02:00
cbea5788a3 ENH: include qmake-qt5 in the search for qt
- some systems (eg, opensuse) use that since it has both qt4 and qt5
  installed. ParaView now needs qt5 (preferrably 5.9).

STYLE: update version information for ParaView and Qt
2018-04-12 10:48:05 +02:00
6d7ef8dc42 COMP: adjust make scripts for systems with .dylib instead of .so 2018-04-11 16:28:32 +02:00
475220cfae COMP: unset ParaView_DIR from PATH, LD_LIBRARY_PATH when building
- potential symbol conflicts and build errors if building from the git
  version since it uses the last major number (eg, 5.4) but may have a
  layout similar to the next release (eg, 5.5) and thus different
  sizes for classes etc.
2018-01-22 11:29:06 +01:00
43cbb24ddd COMP: check for wmake toolchain when building third-party (fixes #30) 2018-01-08 13:43:29 +01:00
f49d26dad5 COMP: more stringent checks for WM compiler settings (issue #29)
- only export the WM_* settings to their plain counterparts

     (eg, export CC=$WM_CC)

  when they actually point to an accessible program

  This helps in particular when bootstrapping builds with third-party
  compilers.
2018-01-03 13:41:12 +01:00
6485db81a9 COMP: use 'cc' instead of 'mpicc' on Cray (issue #28)
- the cray 'cc' handles mpi paths, there is no mpicc
2017-12-17 12:19:55 +01:00
816173b7c4 CONFIG: update versions
ENH: add support of additional configure options to some make scripts

- remove hard-coded --verbs from makeOPENMPI in favour of letting the
  user provide it via the command-line for makeOPENMPI.

  eg,  makeOPENMPI openmpi-1.10.6 -- --with-verbs=DIRECTORY ...
2017-12-15 11:21:31 +01:00
bc7fb08810 STYLE: relocated etc/wmakeFiles as makeFiles 2017-09-29 17:13:20 +02:00
51435f2e56 COMP: change ordering of statements to prevent premature termination after make
COMP: VTK- prefix not being trimmed from the name
2017-09-28 13:20:45 +02:00
0f9fe6b863 COMP: paraview mpi config not being passed to vtk backend? 2017-08-03 09:42:33 +02:00
092d71c3df COMP: improve support for non-system python locations (issue #17) 2017-07-04 00:11:29 +02:00
ce4c19c717 COMP: adjust to use non-gcc compilers for scotch and ptscotch 2017-04-24 09:49:29 +02:00
59be96faed ENH: remove reliance on OpenFOAM etc/config.sh/functions file.
- similar functionality in etc/tools/ThirdPartyFunctions to improve
  the independence of ThirdParty while reducing clutter in the callers.

- add useGcc function for convenience
- mask seeing our own git-repo when building

STYLE: various items

- eliminate old user-editable configuration in files - now command-line only.
- use *_BUILD_DIR instead of *_BINARY_DIR for more clarity of the purpose
- drop use of '-q' option for wmakeCheckPwd (already has stderr redirect)
- drop checkVersion for makeParaView since it stopped working properly
  with newer paraview version

CONFIG: update list of versions
2017-03-20 12:42:44 +01:00
1189ff23c9 BUG: pkgconfigPrefix calling the incorrect backend
ENH: avoid editing pkgconfig symlinks
2017-02-01 09:49:05 +00:00
d55ae084d4 ENH: generalize and improve pkgconfig editing
- now handles both lib/pkgconfig and lib64/pkgconfig locations
- also adjust includedir= and libdir= entries
2017-01-20 13:32:31 +01:00
9926569ca1 ENH: add -suffix option for makeParaView and makeVTK
- simple means of distinguishing between types of builds
  (mesa, mpi, python).
2017-01-19 18:30:20 +01:00
fc3ea2f182 ENH: add pkgconf editing into ThirdPartyFunctions
- allows reuse for other packages using pkgconf
2017-01-19 18:30:20 +01:00
907e04f35c COMP: adjust makeParaView for build with mesa 2017-01-19 18:30:20 +01:00
705556c3eb ENH: support building of paraview with Qt5
- this is the upcoming default Qt version
2017-01-19 18:30:19 +01:00
391a6b24ca CONFIG: update patches for paraview 5.0.1, 5.1.0, 5.1.2
- also avoid issues with '+' being treated as a list separator
  (already patched in 5.2)

--
STYLE: reformat version check output (in makeParaView)
2016-12-14 10:14:25 +01:00
4a71fbb426 ENH: retain backup copies when patching files
- allows the user to inspect what has been patched.
- also use fuzzy patching (ignore whitespace) for a bit more robustness
2016-12-13 17:23:22 +01:00
318e249542 STYLE: reference the location of sources via the sourceBASE variable
- in the future it may be useful to locate all the sources under a
  sub-directory instead
2016-11-27 18:47:06 +01:00