Commit Graph

179 Commits

Author SHA1 Message Date
4aacb80bae wmake/rules: Removed temporary -fno-tree-slp-vectorize gcc option
introduced to work-around bug in the gcc-11.1 optimiser which is fixed in
gcc-11.2

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101634
2021-07-28 11:37:02 +01:00
37108ec2ee wmake: Added support for the new OneAPI Intel compiler
The icx and icpx Intel compilers are selected by

WM_COMPILER=Icx

These compilers are based on the Clang front-end and hence the configuration
files are based on and nearly identical to those for Clang.

Support for the new OneAPI compilers replaces the now deprecated Intel icc, icpc
compilers.
2021-07-20 16:51:09 +01:00
ee777e4083 Standardise on British spelling: -ize -> -ise
OpenFOAM is predominantly written in Britain with British spelling conventions
so -ise is preferred to -ize.
2021-06-01 19:11:58 +01:00
1156a55669 wmake/makefiles/files: Updated comments 2020-12-11 07:51:52 +00:00
66131bcd16 wmake: Simplified using -q option on grep 2020-12-10 16:31:40 +00:00
cffe943d8d wmake/rules: Removed the now redundant CPP definitions 2020-12-10 11:12:14 +00:00
a918deda09 wmake/makefiles/files: Preserve the indentation of the source file lines in Make/files 2020-12-10 08:24:28 +00:00
848ec1cd97 wmake: Simplified and standardised the Make/files files
cpp is no longer used to pre-process Make/files files allowing standard make '#'
syntax for comments, 'ifdef', 'ifndef' conditionals etc.  This is make possible
by automatically pre-pending SOURCE += to each of the source file names in
Make/files.

The list of source files compile can be specified either as a simple list of
files in Make/files e.g.

    # Note: fileMonitor assumes inotify by default. Compile with -DFOAM_USE_STAT
    # to use stat (=timestamps) instead of inotify
    fileMonitor.C

    ifdef SunOS64
        dummyPrintStack.C
    else
        printStack.C
    endif

    LIB = $(FOAM_LIBBIN)/libOSspecific

or

or directly as the SOURCE entry which is used in the Makefile:

    SOURCE = \
        adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C \
        adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C \
        adjointShapeOptimizationFoam.C

    EXE = $(FOAM_APPBIN)/adjointShapeOptimizationFoam

In either form make syntax for comments and conditionals is supported.
2020-12-10 08:09:49 +00:00
30e6e02d29 wmake: Removed the cpp processing of the Make/options file
so that it can be included directly into the wmake Makefile to allow full
support of gmake syntax, variables, functions etc.

The Make/files file handled in the same manner as the Make/options file if it
contains the SOURCE entry otherwise it is first processed by cpp for backward
compatibility.
2020-12-09 13:35:14 +00:00
ff766fe6ac wmake: Added support for gmake directives in Make/files
The list of source files compile can now be specified either as a simple list of
files in Make/files e.g.

adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C
adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C
adjointShapeOptimizationFoam.C

EXE = $(FOAM_APPBIN)/adjointShapeOptimizationFoam

or directly as the SOURCE entry which is used in the Makefile:

SOURCE = \
    adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C \
    adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C \
    adjointShapeOptimizationFoam.C

EXE = $(FOAM_APPBIN)/adjointShapeOptimizationFoam

In both cases the Make/files is first parsed by cpp to handle #if, #ifdef
etc. directives but in the latter form gmake directives like ifeq can be also be
used to optionally select files to compile, typically using

SOURCE += anotherFile.C

statements.
2020-12-08 19:10:21 +00:00
067ab99f0f wmkdep: terminate sourcePath string explicitly
Resolves bug-report https://bugs.openfoam.org/view.php?id=3550
2020-09-18 13:55:37 +01:00
f98d878457 OpenFOAM: Rationalised naming convention for file path
pathName, pathname -> filePath
2020-09-14 11:27:05 +01:00
e603417ef7 bin/tools/foamGenerateBashCompletion: Improved robustness of bracket parsing
Also minor formatting changes
2020-07-30 16:47:29 +01:00
0257ab1459 Updated to C++14 standard
gcc version 5 and above and clang version 3.4 and above fully support the C++14
standard and the compilation rules of OpenFOAM-dev now require this support
allowing for further development and maintenance to benefit from the additional
language features provided in C++14.
2020-07-23 15:31:07 +01:00
077138942f Intel MPI configuration: Updated for versions 19 and higher
Resolves feature request https://bugs.openfoam.org/view.php?id=3519
2020-07-11 17:20:25 +01:00
ed9e420ea1 wmake: added rules for linuxArm64Gcc to compile on aarch64 (Arm-based) processors.
No code change was required to compile OpenFOAM on Arm using the Gcc compiler.
2020-06-24 16:01:49 +01:00
6268e426d7 wmake/rules/General/moc: Updated
Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2020-06-24 15:20:57 +01:00
7dd592ff40 boost: Corrected include path 2020-06-09 09:27:56 +01:00
83bd225910 foamyHexMesh: Updated to compile against CGAL 5.0+
CGAL and Boost are now used header-only. The minimum supported version
of CGAL is now 4.9.
2020-05-08 11:24:58 +01:00
c32d7ea592 wmkdep: Removed a file search optimisation which can generate the incorrect path
if there is more than one search directory containing the same file name.
2019-10-02 14:30:04 +01:00
e684cc1c3a wmkdep: Added the source file directory to the directory search list 2019-07-25 18:03:48 +01:00
94642ba4d9 etc/bashrc: Added better handling for symbolic links in the WM_PROJECT_DIR path
Patch contributed by Bruno Santos
2019-07-22 14:36:20 +01:00
5e7895daf0 wmake/rules/General/mplibINTELMPI64: Updated paths for recent releases of Intel MPI 2019-07-19 23:38:05 +01:00
9980357df1 wmake: use expandPath to expand $PWD to handle symlinks
Resolves patch request https://bugs.openfoam.org/view.php?id=3301
2019-07-02 11:58:04 +01:00
51a8b15afe Renamed MVAPICH2 -> MV2MPI for consistency with the MPI implementation naming convention
Resolves patch request https://bugs.openfoam.org/view.php?id=3153
2019-01-28 09:52:41 +00:00
d95d68d7be Removed support for ancient platforms IA64 and SGIN32 2018-12-21 18:35:20 +00:00
fd08eae933 Replaced mplib with mplibDummy for consistency with the dummy Pstream 2018-08-16 21:11:40 +01:00
583043b0e3 Moved -lpthread to wmake/rules/General/mplib 2018-08-16 13:30:04 +01:00
bce53f1758 Rationalising the mplib files and reinstating support for compiling without MPI 2018-08-16 12:26:16 +01:00
50f5c22c87 wmake/rules: Removed duplicate mplib.* files 2018-08-15 17:27:32 +01:00
5e8593c171 wmake/rules/linux.*Gcc: added -fuse-ld=bfd
to avoid problems on systems which use the gold linker by default.

Resolves request https://bugs.openfoam.org/view.php?id=3006
2018-07-17 23:06:45 +01:00
71a4e548df Updated git hooks to check new header format 2018-07-09 16:59:03 +01:00
bf54ab67e1 Updated OpenFOAM Foundation web-link in headers 2018-07-06 21:42:54 +01:00
89f1053f82 Code style: Fixed formatting of banners 2018-06-19 12:01:50 +01:00
ee4ed5d942 wmake: Correct issues introduced during updates for shellcheck
Patch contributed by Bruno Santos
Resolves bug-report https://bugs.openfoam.org/view.php?id=2983
2018-06-17 20:42:36 +01:00
6db30e661c wmakeLnIncludeAll: Add support for -IlnInclude
Resolves bug-report https://bugs.openfoam.org/view.php?id=2925
2018-05-11 14:40:24 +01:00
0cca225762 wmake.*: Improved robustness and portability using shellcheck 2018-05-03 21:49:07 +01:00
3c000dabec wmake, wmakeLnIncludeAll: Automated the creation of the lnInclude directories based on dependency
Now lnInclude are created as required by the presence of entries in the EXE_INC
variable in the Make/options file.  This removes the need for calling
wmakeLnInclude in various Allwmake files to ensure the existence of the
lnInclude directories prior to compilation of dependent libraries.
2018-05-03 15:59:50 +01:00
3be5e695ec wmkdep: Updated documentation 2018-05-02 09:43:59 +01:00
9ffc025b08 wmkdep: Simplified file scanning for dependencies avoiding too many open files
This change ensures only one include file is open at a time by storing the
included files on a dynamic list rather than scanning the tree and holding a
list of open buffers.  This new approach is a bit faster and avoids the "too
many open files" error on machines with low limits on the number of file
descriptors allocated to users.
2018-05-01 11:12:38 +01:00
60b81b38da wmkdep: Added path string substitution support
to avoid the need for sed'ing the output.  This improves performance by avoiding
the need for calling additional commands and generating a temporary file.
2018-04-18 21:16:25 +01:00
354a5173d9 wmkdep: Removed the unused -i<file> option and other legacy code
The -i<file> option is inconsistent with the -isystem include syntax and would
have to be changed if it were needed.
2018-04-18 12:52:10 +01:00
61f1fe8834 wmake: Improved handling of dependencies when files are removed 2018-04-17 20:38:49 +01:00
adb1a08168 CGAL: Added -DCGAL_NO_DEPRECATED_CODE
Resolves patch request https://bugs.openfoam.org/view.php?id=2869
2018-03-07 21:33:10 +00:00
c41efee594 Added support for the MVAPICH2 MPI implementation 2018-03-07 21:32:19 +00:00
1073607cb0 Corrected spelling and typo's in comments
Resolves bug report https://bugs.openfoam.org/view.php?id=2845
2018-03-05 20:14:28 +00:00
fe1fade8cb Corrected spelling in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
2018-02-13 20:39:56 +00:00
69635e7ab3 Updated to avoid warnings from gcc-7.1.1 2017-07-31 13:46:42 +01:00
384f9a5cf6 CGAL: Upgraded to 4.10 2017-07-27 14:38:35 +01:00
9213944091 Bash [TAB] completion: enabled for scripts in wmake/ dir 2017-05-31 19:28:28 +01:00