From ffc1c5aca0495f88be4faa6423cb26b0d4c393b5 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Wed, 13 Dec 2017 17:36:35 +0100 Subject: [PATCH] CONFIG: add additional modules/ directory and Module namespace - any code placed here should provide Allwmake and Allwclean scripts and normally have compilation targets into FOAM_APPBIN, FOAM_LIBBIN Since there is no standardize places for sources or applications, a simultaneous build of a module's doxygen documentation requires a minor bit of manual effort. Add (via symlink) the sources into the modules/doc/ directory to have them included in the normal OpenFOAM doxygen documentation generation. A makelink.example file is provided there as an example. --- .gitmodules | 3 +++ Allwmake | 8 ++++++++ doc/Doxygen/Doxyfile | 3 ++- modules/README.md | 15 +++++++++++++++ modules/cfmesh | 1 + modules/doc/Allwclean | 7 +++++++ modules/doc/Allwmake | 7 +++++++ modules/doc/makelink.example | 11 +++++++++++ src/OpenFOAM/global/foamVersion.H | 4 +++- 9 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 .gitmodules create mode 100644 modules/README.md create mode 160000 modules/cfmesh create mode 100755 modules/doc/Allwclean create mode 100755 modules/doc/Allwmake create mode 100755 modules/doc/makelink.example diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..ee2b053a213 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "cfmesh"] + path = modules/cfmesh + url = https://develop.openfoam.com/Community/integration-cfmesh.git diff --git a/Allwmake b/Allwmake index b9cfa95a5eb..6c7cc3d95c8 100755 --- a/Allwmake +++ b/Allwmake @@ -43,6 +43,14 @@ echo "Compile OpenFOAM applications" echo applications/Allwmake $targetType $* +# Additional components/modules +if [ -d "$WM_PROJECT_DIR/modules" ] +then +( + cd $WM_PROJECT_DIR/modules 2>/dev/null && wmake -all +) +fi + # Some summary information echo date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown" diff --git a/doc/Doxygen/Doxyfile b/doc/Doxygen/Doxyfile index a0321938063..1a3ceffdd3a 100644 --- a/doc/Doxygen/Doxyfile +++ b/doc/Doxygen/Doxyfile @@ -769,7 +769,8 @@ WARN_LOGFILE = #INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global INPUT = $(WM_PROJECT_DIR)/src \ $(WM_PROJECT_DIR)/applications/utilities \ - $(WM_PROJECT_DIR)/applications/solvers + $(WM_PROJECT_DIR)/applications/solvers \ + $(WM_PROJECT_DIR)/modules/doc #For testing only #INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global \ diff --git a/modules/README.md b/modules/README.md new file mode 100644 index 00000000000..246fac8696b --- /dev/null +++ b/modules/README.md @@ -0,0 +1,15 @@ +OpenFOAM Modules +================ + +This directory is a location to place additional OpenFOAM components +or tools and have them built as part of the normal OpenFOAM build +process. It is assumed that each subdirectory contain an appropriate +Allwmake file, and that they should in all likelihood also build into +`$FOAM_APPBIN` and `$FOAM_LIBBIN` instead of +`$FOAM_USER_APPBIN` and `$FOAM_USER_LIBBIN`. + +These additional components may be added as git submodules, by script +or by hand. + +To build the doxygen information for the components, it is also +necessary to link the directories to the doc/ subdirectory. diff --git a/modules/cfmesh b/modules/cfmesh new file mode 160000 index 00000000000..3b91ceb0bb6 --- /dev/null +++ b/modules/cfmesh @@ -0,0 +1 @@ +Subproject commit 3b91ceb0bb65ceb23b2735fe52305336be7e0aac diff --git a/modules/doc/Allwclean b/modules/doc/Allwclean new file mode 100755 index 00000000000..0835147d186 --- /dev/null +++ b/modules/doc/Allwclean @@ -0,0 +1,7 @@ +#!/bin/sh +# Dummy for "wclean -all" +# Returns true so it does look like an error + +echo "skip wclean for modules doxygen directory" + +#------------------------------------------------------------------------------ diff --git a/modules/doc/Allwmake b/modules/doc/Allwmake new file mode 100755 index 00000000000..4a2fa737655 --- /dev/null +++ b/modules/doc/Allwmake @@ -0,0 +1,7 @@ +#!/bin/sh +# Dummy for "wmake -all" +# Returns true so it does look like an error + +echo "skip wmake target for modules doxygen directory" + +#------------------------------------------------------------------------------ diff --git a/modules/doc/makelink.example b/modules/doc/makelink.example new file mode 100755 index 00000000000..78c5956bbc1 --- /dev/null +++ b/modules/doc/makelink.example @@ -0,0 +1,11 @@ +#!/bin/sh +cd ${0%/*} || exit 1 + +# Manually create doxygen links for module documentation + +for dir in cfmesh/meshLibrary +do + [ -d "../$dir" ] && ln -svf ../$dir ${dir##*/} +done + +#------------------------------------------------------------------------------ diff --git a/src/OpenFOAM/global/foamVersion.H b/src/OpenFOAM/global/foamVersion.H index 3b5d9fcb465..b93ffd37904 100644 --- a/src/OpenFOAM/global/foamVersion.H +++ b/src/OpenFOAM/global/foamVersion.H @@ -27,7 +27,6 @@ Namespace Description Namespace for OpenFOAM - Global Foam::FOAMversion @@ -67,6 +66,9 @@ namespace Foam extern const char* const FOAMversion; extern const char* const FOAMbuild; extern const std::string FOAMbuildArch; + + //- Additional OpenFOAM modules + namespace Module {} } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -- GitLab