Commit Graph

352 Commits

Author SHA1 Message Date
Andrew Heather
3df66b25ec STYLE: minor updates 2016-10-03 08:24:22 +01:00
Mark Olesen
22a7a70256 Merge remote-tracking branch 'origin/merge-foundation' into adjust-config-foundation-merge 2016-09-30 17:50:20 +02:00
Andrew Heather
bd0e982d99 MRG: Initial commit after latest Foundation merge 2016-09-30 11:16:28 +01:00
Mark Olesen
3c86995198 COMP: remove boost/mpfr/gmp linkage for foamyMesh components.
- CGAL itself includes its library dependencies, we only need to
  provide the -L... option to the proper ThirdParty locations.

  Should help improve general build robustness.
2016-09-30 17:00:05 +02:00
Henry Weller
40f8709488 wmake: export WM_SCHEDULER from sub-shell for non-POSIX bash compliance 2016-09-22 08:34:15 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
Henry Weller
0a1300d882 wmake: Updated '-q' option to work on Ubuntu and other 'dash'-based GNU/Linux distributions 2016-09-09 14:53:10 +01:00
Henry Weller
74e1352cc2 src/Pstream: Added Allwclean consistent with the Allwmake
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2218
2016-08-25 08:25:12 +01:00
Henry Weller
f75e69b5f7 wmake/rules/linux64.*KNL: Improved optimization option for Intel MIC (Knights Landing) processor
Patch contributed by Paul Edwards, Intel.
2016-08-22 16:27:46 +01:00
Henry Weller
82aa78a4d4 wmake/rules/linux.*Icc: Removed a new unhelpful warning message 2016-08-11 16:25:53 +01:00
Henry Weller
7996a9138f C++11: Update compilation rules to specify C++11 support and conformance
The change from C++0x to C++11 allows all of C++11 functionality to be
used in OpenFOAM, in particular constructor delegation which avoids code
duplication or constructor helper functions.  However, this also means a
change to the minimum gcc version supported which is now 4.7 rather than
4.5.

Note that gcc-4.7 does not support the entire C++11 standard but does
support all of the functionality currently needed for further OpenFOAM
development.  The minimum gcc-version which supports the entire C++11
standard is 4.8 which is now the recommended minimum gcc version.
2016-08-05 16:28:19 +01:00
Henry Weller
3a3966d400 wmake/rules/linux.*Icc: Updated for icpc (ICC) 16.0.3 20160415 2016-07-28 13:47:44 +01:00
Mark Olesen
1b55666ec7 ENH: distinguish OpenFOAM version for user-coding (fixes #195)
The pre-processor macro 'OPENFOAM_PLUS' is defined with a numerical
value equal to the currently compatible version number.

This can be used judiciously within user coding to help with minor
differences between OpenFOAM versions. For example,

    #ifdef OPENFOAM_PLUS
        #if (OPENFOAM_PLUS >= 1612)
        ...
        #endif
    #endif

or simply

    #if (OPENFOAM_PLUS >= 1612)
    ...
    #endif
2016-07-26 14:02:40 +02:00
Henry Weller
13e8fce173 wmake: Use functions from wmakeFunctions to avoid code duplication
wclean: added support for automatic searching up the tree for the Make directory if in a sub-directory
2016-07-17 22:59:55 +01:00
Mark Olesen
9a82743d32 STYLE: bump to v1609+ for foundation merge version 2016-09-29 12:00:00 +02:00
Mark Olesen
a6a8069d84 BUG: incorrect wmakePrintBuild -check behaviour when outside of git (issue #174)
- return 0 if not under git, since nothing particular can be said
  about the build number.

- explicitly define which git-dir is to be used.
  This ensure we don't accidentally get some values from some unrelated
  project in the parent directory.
2016-07-12 17:37:30 +02:00
Henry Weller
47b9b3a88a AllwmakeParseArguments: Correct call to wmake -all
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2146
2016-07-10 22:04:50 +01:00
Henry Weller
79e31173bd wmakeFunctions: Added '()' to depToSource definition
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2144
2016-07-09 20:45:46 +01:00
Henry Weller
cdb5d024f0 wmake: Simplified handling of '-j' option to sub-processes 2016-07-09 14:22:29 +01:00
Henry Weller
c022898851 wmakeLnIncludeAll: Add '-update' option 2016-07-09 14:22:14 +01:00
Henry Weller
c3f50d3c2b wmakeLnInclude: Minor simplifications and reformatting 2016-07-09 14:21:44 +01:00
Henry Weller
5b28e12ad3 wmakeCollect: Use 'mktemp' to create the temporary Makefiles
to avoid file names which are two long for the standard GNU/Linux file systems.
2016-07-09 14:20:31 +01:00
Henry Weller
7d553a1853 wmakeFunctions: Added a faster bash version of 'depToSource' 2016-07-09 14:19:47 +01:00
Henry Weller
bbc43dd66e wmakeCollect: Create the makefiles in the platforms directory 2016-07-09 09:59:46 +01:00
Henry Weller
02e14ffd4b wmakeLnIncludeAll: 'sync' does not guarantee synchronization of the links
A simple 'sleep' is more reliable.
2016-07-08 16:35:40 +01:00
Henry Weller
23ea3b364e wmakeLnIncludeAll: Improved messages 2016-07-08 14:02:57 +01:00
Henry Weller
10ad855d8d wmake: Improve messages from wclean, wrmdep and wmakeLnIncludeAll 2016-07-08 10:57:08 +01:00
Henry Weller
d7e6c04855 wmakeLnIncludeAll: When running parallel wait for the wmakeLnInclude jobs to complete
then synchronize the file system to ensure all links are flushed before
compilation starts
2016-07-08 08:22:28 +01:00
Henry Weller
a7fa5699df AllwmakeParseArguments: Filter-out '-q' option to avoid recusion 2016-07-07 16:22:08 +01:00
Henry Weller
c15eea16f1 wmakeLnIncludeAll: Now a bash script
Uses the 'wait -n' builtin to avoid the use of non-POSIX 'sleep' commands
2016-07-07 12:09:49 +01:00
Henry Weller
898b51c8a3 wmakePrintBuild -check: exit 0 if not a git repository 2016-07-05 21:50:34 +01:00
Henry Weller
aad28cbb78 wmakeCollect: Name the object makefiles based on the object path
Ensures the order of compilation relates to the location of the source files
2016-07-05 14:53:26 +01:00
Henry Weller
948e10841b wmakeCollect: Support simultaneous builds of different target architectures or compilers 2016-07-05 10:24:08 +01:00
Henry Weller
e8b098121c wmake: execute wmakeLnIncludeAll once with options 'queue' and 'update' 2016-07-05 07:54:45 +01:00
Henry Weller
af8e0f1443 AllwmakeParseArguments: Moved all parallel processing options into wmake
and added support for queue scheduling option '-q', '-queue'

Now the 'Allwmake' scripts execute 'wmake -all' to handle parallel
processing in a general way, avoiding code duplication.
2016-07-04 22:30:20 +01:00
Henry Weller
91a8421241 wmakeLnIncludeAll: Corrected type 2016-07-04 10:27:43 +01:00
Henry Weller
9e712bbfc7 wmakeLnIncludeAll: Use 'wait -n' rather than and arbitrary 'sleep' when limiting the number of jobs 2016-07-04 09:39:28 +01:00
Henry Weller
7093f478e4 wmake: use the new parallel wmakeLnIncludeAll option if WM_NCOMPPROCS is set 2016-07-03 23:11:16 +01:00
Henry Weller
6b77d86563 wmakeCollect: Experimental scheduler for wmake to speed-up parallel compilations
wmakeCollect collects the compilation commands for the all of the object
files to be compiled into a single makefile which is passed to make to
schedule the compilations in parallel efficiently.

Before wmakeCollect can be called the lnInclude directories must be
up-to-date and after wmakeCollect the linkage stage of the compilation
must executed using wmake.

This entire process is now handled by wmake using the new '-queue' or
'-q' option to compile sections of the OpenFOAM source tree or the
entire tree efficiently.  The number of cores the compilation executes
on may be specified either using the WM_NCOMPPROCS variable or the '-j'
option.

To efficiently compile OpenFOAM after a 'git pull' the '-update' option
is provided which updates lnInclude directories, dep files and removes
deprecated files and directories.  This option may be used with '-q':

    wmake -q -update
2016-07-03 22:55:16 +01:00
Henry Weller
17bec8aab2 wmakeLnIncludeAll: Added -j option for parallel operation 2016-07-03 22:22:00 +01:00
Henry Weller
47b6000c36 wmake/rules/General: Add support for WM_SCHEDULER to the compilation of lex, yacc and moc files 2016-07-03 22:21:02 +01:00
Henry Weller
dea6a3c6e8 wmake/Allwmake: Completed support for targetType 'objects'
Patch contributed by Mattijs Janssens
2016-06-24 15:25:11 +01:00
Henry Weller
96a038f281 foamyMesh: Simplify support for system CGAL installation 2016-06-21 19:47:46 +01:00
Henry Weller
7ecb1422ce wclean all: if an Allclean script exists in sub-directories execute otherwise execute wclean
Resolves bug-report http://bugs.openfoam.org/view.php?id=2125
2016-06-20 10:05:23 +01:00
Mark Olesen
f317958d5a BUG: wclean all does not use Allwclean in subdirectories (fixes #150)
- also reported as http://bugs.openfoam.org/view.php?id=2125
2016-06-20 11:04:25 +02:00
Henry Weller
b2223913d0 wmake/scripts/wmakeFunctions: Add support for $WM_PROJECT_DIR being a link 2016-06-15 14:22:33 +01:00
Henry Weller
326b646bb8 Allwmake -update: Further improvements to handle source-tree/dep file inconsistencies after git pull
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2091
2016-06-11 16:28:40 +01:00
Henry Weller
df904757b4 wmake/rules/General/CGAL: lib -> lib64 on 64bit OSs
Patch contributed by Bruno Santos
Resolves patch request http://bugs.openfoam.org/view.php?id=2114
2016-06-09 14:34:26 +01:00
Henry Weller
2443ed0a70 wmake/rules/linux64GccKNL: Optimized compilation options for the Knights Landing MIC processor 2016-06-04 10:13:22 +01:00
Henry Weller
82236c2b81 wmake/rules/linux64KNLIcc: Optimized compilation options the for Knights Landing MIC processor
Patch contributed by Paul Edwards, Intel
2016-06-03 15:29:14 +01:00