51 Commits

Author SHA1 Message Date
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
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
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
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
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
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
705556c3eb ENH: support building of paraview with Qt5
- this is the upcoming default Qt version
2017-01-19 18:30:19 +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
cc2161856b ENH: improve third-party make with central installations
- initial attempt for building CGAL as headers-only, and without
  gmp/mpfr
2016-11-27 16:00:43 +01:00
ed0c63889e Merge branch 'master' into develop 2016-11-23 13:30:05 +01:00
8400503c5f STYLE: report path of cmake,qmake being used
- makes it easier to diagnose problems
2016-11-23 13:14:57 +01:00
e2534597e0 COMP: Ensure makeParaView works for current and upcoming paraview (issue #10)
- minor patching is still required for 5.1.2 (July 2016 release).

- no patching is currently needed for 5.2.0-RC4.
  We have supplied the necessary patches upstream.

    - https://gitlab.kitware.com/paraview/paraview/merge_requests/1022
    - https://gitlab.kitware.com/paraview/paraview/merge_requests/1024
2016-11-11 18:56:30 +01:00
5dd6900492 ENH: relocate common functions into ThirdPartyFunctions
- Qualify some paraview-specific functions with 'ParaView' in the name.
  This helps with code-reuse.

STYLE: use lib$WM_COMPILER_LIB_ARCH instead of explicit lib64
2016-07-27 20:14:18 +02:00
cf251ea182 ENH: support new rendering backend for paraview >= 5.0
ENH: patch paraview 4.4.0 directly before building

- this avoids more manual steps for the user
2016-06-20 07:07:52 +02:00
0b1c761075 STYLE: provide 'die' as alternative to 'usage'
- make option parsing more consistent
2016-06-20 07:07:51 +02:00
b66ec91d01 ENH: support use of system gmp/mpfr/mpc with ThirdParty gcc
- not previously possible to configure a third-party gcc
  with system gmp/mpfr/mpc.
  This makes it easier to switch between compilers for testing.
2016-06-20 07:07:51 +02:00
b06f4a8639 ENH: generalize patching facilty - provide patch for scotch_6.0.4
- fixes #1
2016-06-20 07:07:51 +02:00
6c13263e59 STYLE: make WM_NCOMPPROCS consistent with Allwmake behaviour 2016-06-14 18:28:56 +02:00
376a2b66f4 GIT: Merge in foundation/master with cleanup (2016-06-14)
The ThirdParty repository from the Foundation now includes some
3rd-party source code (paraview, scotch) as well.

To avoid this bloat (ca. 50MB), now and in the future, it is
unfortunately necessary to break the linear history and the direct
connection with the Foundation repository.

This commit is a squashed merge of the current Foundation master branch
with some minor adjustments.

Stop tracking of the derived README.html file.

===========================================================================
Changes prior to merge:

commit 3cb21d12be069561fbe13461440cbdf1c8b188d5
Author: mark <mark@opencfd>
Date:   Tue Jun 14 17:18:40 2016 +0200

    GIT: rationalize .gitignore

    - do not track derived content.
    - do track wmake files etc. (re-instates some content)

commit d1bf108bea922bf60a1002c4641770b91f09f226
Author: Henry Weller <http://cfd.direct>
Date:   Sat Nov 7 21:44:27 2015 +0000

    Reinstated Qt build scripts
    Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1905

commit 7302adf5d0a7bafe635c5d0470f00a6fe78a57f6
Author: mark <mark@opencfd>
Date:   Tue Jun 14 17:15:27 2016 +0200

    Revert "scotch_6.0.3: Added to the source tree to simplify building OpenFOAM"

    This reverts commit 1cce60aa78540bf96783684523e1cac4b6a78043.

commit fbe0018d5fd4d5f94f00f8e7efd3ae11b6ab41b5
Author: mark <mark@opencfd>
Date:   Tue Jun 14 17:15:03 2016 +0200

    Revert "ParaView-5.0.1: Added the source-tree to ThirdParty-dev and patched as described in the README file"

    This reverts commit eba760a6d6bb44860fc7d94d922be7215ee93c1f.

===========================================================================
All changes since NOV-2015 are included in the merge:

commit 17cafd35812493f9a39e56c7355f49c1d3eef2d0
Author: Henry Weller <http://cfd.direct>
Date:   Thu Jun 9 14:36:59 2016 +0100

    makeGcc, makeCGAL: lib -> lib64 on 64bit OSs
    Patch contributed by Bruno Santos
    Resolves patch request http://bugs.openfoam.org/view.php?id=2114

commit ce4951579b8e01ce524ed6e465ea352e6a243f1b
Author: Henry Weller <http://cfd.direct>
Date:   Wed Jun 8 15:14:47 2016 +0100

    ThirdParty-dev/makeGcc: added "-no-multilib" option
    Patch contributed by Bruno Santos
    Resolves patch request http://bugs.openfoam.org/view.php?id=2113

commit f72ad1f0a66338e5c342efed47079347e1db16d0
Author: Henry Weller <http://cfd.direct>
Date:   Tue May 31 09:16:57 2016 +0100

    README: Updated download instructions

commit eba760a6d6bb44860fc7d94d922be7215ee93c1f
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 21:20:56 2016 +0100

    ParaView-5.0.1: Added the source-tree to ThirdParty-dev and patched as described in the README file
    Resolves bug-report http://bugs.openfoam.org/view.php?id=2098

commit 1cce60aa78540bf96783684523e1cac4b6a78043
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 21:17:14 2016 +0100

    scotch_6.0.3: Added to the source tree to simplify building OpenFOAM
    Recent versions of scotch are rarely available in packaged form for
    ready installation on GNU/Linux distributions and so the sources are
    generally required.

commit 08df75f4c7339520880fcf9dd243e9c414cbfe7e
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 21:16:54 2016 +0100

    .gitignore: Simplified

commit ef2d69ba55076ba14ab0c771ac2981b94ab60f2e
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 21:16:27 2016 +0100

    README: Updated instructions for compiling ParaView-5.0.1

commit 7cdc8b196acfa021c4ff23036714aaee5e1b9612
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 12:30:17 2016 +0100

    README: Upgraded to CGAL-4.8

commit bc8ce83166a05db0dc197a7a203634aa6d25c96f
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 30 12:28:27 2016 +0100

    makeCGAL: Updated to CGAL-4.8

commit c0afdcde7920538ceaf9e0c78827e3a3f18f541d
Author: Henry Weller <http://cfd.direct>
Date:   Mon May 23 18:46:27 2016 +0100

    etc/tools/ParaViewFunctions: Improve instructions for updating the environment after compiling ParaView

commit b627924a4bf104521b567d3aa3dc80c864325b1a
Author: Henry Weller <http://cfd.direct>
Date:   Tue May 10 11:38:00 2016 +0100

    Allwmake: Added scripted changes for REALTYPEWIDTH and IDXTYPEWIDTH
    Patch contributed by Bruno Santos
    Resolves bug-report http://bugs.openfoam.org/view.php?id=2085

commit 69dba76b3195420c71173a65b1c227b2650eaebf
Author: Henry Weller <http://cfd.direct>
Date:   Sun Apr 3 14:43:58 2016 +0100

    Further changes for http://www.openfoam.org/mantisbt/view.php?id=2040
    Patch provided by Bruno Santos

commit 1379e08a39ef9e199307e9b6608e7ad97ed03b77
Author: Henry Weller <http://cfd.direct>
Date:   Sun Apr 3 10:30:43 2016 +0100

    Allwmake: Implement the default "stop on 1st error"
    Patch contributed by Bruno Santos
    Resolves tweak http://www.openfoam.org/mantisbt/view.php?id=2040

commit 8c9c235db686de2612c62112b37e132bfa773b16
Author: Henry Weller <http://cfd.direct>
Date:   Wed Mar 30 19:28:28 2016 +0100

    Updated handling of the ParaView installation path
    Patch contributed by Bruno Santos
    Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2034

commit d88b4ea88db7d35c7b7fe8d869d59be32a224144
Author: Henry Weller <http://cfd.direct>
Date:   Mon Mar 21 23:03:59 2016 +0000

    makeCGAL: Corrected typo
    Patch contributed by Bruno Santos
    Resolves report http://www.openfoam.org/mantisbt/view.php?id=1215

commit 578f8827fbc5f709595fc5ab5185053aaa8cf678
Author: Henry Weller <http://cfd.direct>
Date:   Mon Mar 14 11:13:23 2016 +0000

    Make scripts updated to use the new OpenFOAM-dev/ets/config.sh variables
    Contributed by Bruno Santos
    Resolves patch request http://www.openfoam.org/mantisbt/view.php?id=1215
    See also http://www.openfoam.org/mantisbt/view.php?id=1232

commit c8904e60d2c97ee3c4865bb34419758a10cb2a5a
Author: Henry Weller <http://cfd.direct>
Date:   Tue Feb 16 08:57:29 2016 +0000

    scripts: Reformat with consistent section separators

commit 43f2b369458ff87d0c85c493586d12b75855cf32
Author: Henry Weller <http://cfd.direct>
Date:   Tue Feb 16 08:56:26 2016 +0000

    ThirdParty-dev/etc/tools/ParaViewFunctions: Updated docs
    Including patch from Bruno Santos
    Resolves report http://www.openfoam.org/mantisbt/view.php?id=1997

commit dfe9e823de452f4c540aa4d02dcf5058e063dd44
Author: Henry Weller <http://cfd.direct>
Date:   Wed Feb 10 20:44:32 2016 +0000

    README.org: Upgrade OpenMPI link to openmpi-1.10.2

commit 99d158539e21a3a86d9ac9d5d6f67834142a1847
Author: Henry Weller <http://cfd.direct>
Date:   Wed Feb 10 20:21:34 2016 +0000

    Rename makeParaView4 makeParaView and update to support versions 4 and 5
    Rename makeParaView makeParaView3 specifically for ParaView version 3

commit 8219a109a24d0699f689cf29a6ce6b4190dc84f0
Author: Henry Weller <http://cfd.direct>
Date:   Wed Feb 10 16:21:23 2016 +0000

    Updates for changes to etc/config structure

commit c6474e672655864b784950b3bc12e245745ea64d
Author: Henry Weller <http://cfd.direct>
Date:   Sun Feb 7 10:30:22 2016 +0000

    README: Added download link for ParaView-5.0.0

commit 2da4d8ccea67b4d194161f03c2aca8f693789121
Author: Henry Weller <http://cfd.direct>
Date:   Sun Feb 7 10:27:46 2016 +0000

    README: Updated for ParaView-5.0.0

commit 730b8840f7a47e4807c5c239caf337b49960fc9b
Author: Henry Weller <http://cfd.direct>
Date:   Sun Feb 7 10:26:15 2016 +0000

    makeGcc: Removed support for gcc versions older the 4.5

commit 2500c120b9cd29b5b46d4ca118a60dfac78a8923
Author: Henry Weller <http://cfd.direct>
Date:   Mon Nov 2 20:00:59 2015 +0000

    README.org: Added patch instructions for ParaView-4.4.0 from
    http://www.openfoam.org/mantisbt/view.php?id=1887

===========================================================================
2016-06-14 18:24:31 +02:00