From 0f8b423a6841afd58161e7ea904eedcc89ab4a1f Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Thu, 3 Mar 2011 13:58:07 +0100
Subject: [PATCH] ENH: add dynamicCode::libraryBaseName() service function

- return the library basename without leading 'lib' or trailing '.so'
---
 src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C | 9 +++++++++
 src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.H | 3 +++
 2 files changed, 12 insertions(+)

diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
index 97cf221e7e2..3f66a438393 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
@@ -77,6 +77,15 @@ void Foam::dynamicCode::checkSecurity
 }
 
 
+Foam::word Foam::dynamicCode::libraryBaseName(const fileName& libPath)
+{
+    word libName(libPath.name(true));
+    libName.erase(0, 3);    // remove leading 'lib' from name
+    return libName;
+}
+
+
+
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 void Foam::dynamicCode::copyAndFilter
diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.H b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.H
index f43cbf691c4..75764aca3ad 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.H
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.H
@@ -169,6 +169,9 @@ public:
         //- Check security for creating dynamic code
         static void checkSecurity(const char* title, const dictionary&);
 
+        //- Return the library basename without leading 'lib' or trailing '.so'
+        static word libraryBaseName(const fileName& libPath);
+
 
     // Constructors
 
-- 
GitLab