From cecdb88113a4cdcd26e90764d3a29eb454c78050 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 7 Jan 2019 19:04:50 +0100 Subject: [PATCH] ENH: export FOAM_API in dictionary (issue #1158) - uses the value of the OPENFOAM (OPENFOAM_PLUS) compiler define --- applications/test/dictionary/testDictAPI | 19 +++++++++++++++++++ .../graphics/PVReaders/vtkPVFoam/vtkPVFoam.C | 3 +++ .../PVReaders/vtkPVblockMesh/vtkPVblockMesh.C | 5 ++++- etc/config.csh/unset | 3 ++- etc/config.sh/unset | 3 ++- src/OpenFOAM/global/argList/argList.C | 3 +++ src/OpenFOAM/global/argList/argList.H | 4 +++- 7 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 applications/test/dictionary/testDictAPI diff --git a/applications/test/dictionary/testDictAPI b/applications/test/dictionary/testDictAPI new file mode 100644 index 00000000000..e6091cb9d0b --- /dev/null +++ b/applications/test/dictionary/testDictAPI @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1812 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object testDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +_FOAM_API $FOAM_API; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C index 5da86f74521..7bb62bb0411 100644 --- a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C +++ b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C @@ -310,6 +310,9 @@ Foam::vtkPVFoam::vtkPVFoam fullCasePath = cwd(); } + // OPENFOAM API + setEnv("FOAM_API", std::to_string(OPENFOAM_PLUS), true); + // The name of the executable, unless already present in the environment setEnv("FOAM_EXECUTABLE", "paraview", false); diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C index 6a9037c3854..ef972eb9f0c 100644 --- a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C +++ b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2017-2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -206,6 +206,9 @@ Foam::vtkPVblockMesh::vtkPVblockMesh fullCasePath = cwd(); } + // OPENFOAM API + setEnv("FOAM_API", std::to_string(OPENFOAM_PLUS), true); + // The name of the executable, unless already present in the environment setEnv("FOAM_EXECUTABLE", "paraview", false); diff --git a/etc/config.csh/unset b/etc/config.csh/unset index 9d62c3ac387..c34673ed79d 100644 --- a/etc/config.csh/unset +++ b/etc/config.csh/unset @@ -3,7 +3,7 @@ # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation -# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. +# \\/ M anipulation | Copyright (C) 2016-2019 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, licensed under GNU General Public License @@ -72,6 +72,7 @@ unsetenv WM_THIRD_PARTY_DIR #------------------------------------------------------------------------------ # Unset FOAM_* environment variables +unsetenv FOAM_API unsetenv FOAM_APPBIN unsetenv FOAM_APP unsetenv FOAM_CODE_TEMPLATES diff --git a/etc/config.sh/unset b/etc/config.sh/unset index d5d4a8530e3..99c4c1330a3 100644 --- a/etc/config.sh/unset +++ b/etc/config.sh/unset @@ -3,7 +3,7 @@ # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation -# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. +# \\/ M anipulation | Copyright (C) 2016-2019 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, licensed under GNU General Public License @@ -63,6 +63,7 @@ unset WM_THIRD_PARTY_DIR #------------------------------------------------------------------------------ # Unset FOAM_* environment variables +unset FOAM_API unset FOAM_APPBIN unset FOAM_APP unset FOAM_CODE_TEMPLATES diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 7054cf8c989..e72405bbe8d 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -585,6 +585,9 @@ void Foam::argList::getRootCase() // The name of the executable, unless already present in the environment setEnv("FOAM_EXECUTABLE", executable_, false); + // OPENFOAM API + setEnv("FOAM_API", std::to_string(OPENFOAM_PLUS), true); + // Set the case and case-name as an environment variable if (rootPath_.isAbsolute()) { diff --git a/src/OpenFOAM/global/argList/argList.H b/src/OpenFOAM/global/argList/argList.H index ef4951fc72b..80541d45f13 100644 --- a/src/OpenFOAM/global/argList/argList.H +++ b/src/OpenFOAM/global/argList/argList.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -57,6 +57,8 @@ Description may be present for some solvers or utilities. Environment variables set by argList or by Time: + - \par FOAM_API + The value of the OPENFOAM compiler define - \par FOAM_CASE The path of the global case. It is the same for serial and parallel jobs. -- GitLab