CONFIG: adjustments to environment

- provide default WM_DIR if not already set, to improve robustness if a
  reduced environment is used

- add etc/ to WM_PROJECT_SITE search. This makes the site directory
  structure consistent with the OpenFOAM structure.
  Eg,

      WM_PROJECT_SITE/etc/..
      WM_PROJECT_SITE/bin/..
      WM_PROJECT_SITE/platforms/..

- Don't set/export WM_OSTYPE.  The default is POSIX and is properly
  defaulted throughout, including in CMakeLists-OpenFOAM.txt (also for
  Catalyst)
This commit is contained in:
Mark Olesen
2018-12-03 09:50:48 +01:00
parent e917586574
commit b8c257d6ad
19 changed files with 112 additions and 69 deletions

View File

@ -15,14 +15,14 @@ cd ${0%/*} && wmakeCheckPwd "$WM_PROJECT_DIR/src" 2>/dev/null || {
#------------------------------------------------------------------------------
# Update OpenFOAM version strings if required
# Trigger update of version strings as required
wmakePrintBuild -check || wrmo OpenFOAM/global/global.o 2>/dev/null
wmakeLnInclude -u OpenFOAM
wmakeLnInclude -u OSspecific/${WM_OSTYPE:=POSIX}
wmakeLnInclude -u OSspecific/"${WM_OSTYPE:-POSIX}"
Pstream/Allwmake $targetType $*
OSspecific/${WM_OSTYPE:=POSIX}/Allwmake $targetType $*
OSspecific/"${WM_OSTYPE:-POSIX}"/Allwmake $targetType $*
wmake $targetType OpenFOAM
wmake $targetType fileFormats

View File

@ -197,8 +197,8 @@ public:
// - ~/.OpenFOAM/{PROJECT_API}/"caseDicts/postProcessing"
// - ~/.OpenFOAM/"caseDicts/postProcessing"
// -# \b group settings
// - $WM_PROJECT_SITE/{PROJECT_API}/"caseDicts/postProcessing"
// - $WM_PROJECT_SITE/"caseDicts/postProcessing"
// - $WM_PROJECT_SITE/{PROJECT_API}/"etc/caseDicts/postProcessing"
// - $WM_PROJECT_SITE/"etc/caseDicts/postProcessing"
// -# \b other (shipped) settings
// - $WM_PROJECT_DIR/etc/"caseDicts/postProcessing"
//

View File

@ -67,13 +67,13 @@ static inline bool userResourceDir(Foam::fileName& queried)
//
// Corresponds to foamEtcFile -mode=g
// Looks for
// - $WM_PROJECT_SITE
// - $WM_PROJECT_DIR/site
// - $WM_PROJECT_SITE/etc
// - $WM_PROJECT_DIR/site/etc
static inline bool groupResourceDir(Foam::fileName& queried)
{
#ifdef FOAM_RESOURCE_SITE_ENVNAME
queried = Foam::getEnv(FOAM_RESOURCE_SITE_ENVNAME);
if (queried.size())
queried = Foam::getEnv(FOAM_RESOURCE_SITE_ENVNAME)/"etc";
if (queried.size() > 3)
{
return Foam::isDir(queried);
}
@ -85,8 +85,8 @@ static inline bool groupResourceDir(Foam::fileName& queried)
// Fallback when WM_PROJECT_SITE is unset
#ifdef FOAM_RESOURCE_SITE_FALLBACK_ENVNAME
queried = Foam::getEnv(FOAM_RESOURCE_SITE_FALLBACK_ENVNAME)/"site";
if (queried.size() > 4)
queried = Foam::getEnv(FOAM_RESOURCE_SITE_FALLBACK_ENVNAME)/"site/etc";
if (queried.size() > 8)
{
return Foam::isDir(queried);
}
@ -160,7 +160,7 @@ Foam::fileNameList searchEtc
}
}
// Group resource directories
// Group (site) resource directories
if (groupResourceDir(dir))
{
candidate = dir/version/name;

View File

@ -64,13 +64,13 @@ fileNameList findEtcDirs
// - ~/.OpenFOAM/{PROJECT_API}
// - ~/.OpenFOAM/
// -# \b group settings
// - $WM_PROJECT_SITE/{PROJECT_API}
// - $WM_PROJECT_SITE/
// - $WM_PROJECT_SITE/{PROJECT_API}/etc/
// - $WM_PROJECT_SITE/etc/
// -# \b other (shipped) settings
// - $WM_PROJECT_DIR/etc/
//
// Where {PROJECT_API} is the value of the OPENFOAM define.
// - \b \$WM_PROJECT_SITE : If unset, use $WM_PROJECT_DIR/site
// - \b \$WM_PROJECT_SITE : If unset, uses $WM_PROJECT_DIR/site
//
// \return The list of full paths of all the matching files or
// an empty list if the name cannot be found.