56 static const word topDirName;
60 static const fileName codeTemplateDirName;
63 static const char*
const libTargetRoot;
87 const word& optionsFileName_;
129 return codeRoot_/codeDirName_/
"Make/SHA1Digest";
136 return codeRoot_/codeDirName_;
143 return topDirName/codeDirName_;
148 static void addLineDirective
156 static void copyAndFilter
164 static bool resolveTemplates
172 bool createMakeFiles()
const;
175 bool createMakeOptions()
const;
178 bool writeDigest()
const;
201 const word& codeDirName,
204 const word& optionsFileName,
215 const word& codeDirName,
218 const word& optionsFileName,
235 return codeSha1Name_;
242 return codeRoot_/libSubDir_/
"lib" + codeSha1Name_ +
".so";
250 return codeRelPath()/libSubDir_/
"lib" + codeSha1Name_ +
".so";
255 return varSubstitutions_;
278 const bool masterOnlyRead =
false
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
An STL-conforming hash table.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Encapsulation of dynamic code dictionaries and functionality.
const word & codeName() const
Return the code-name.
dynamicCode(const dictionary &contextDict, const dictionary &codeDict, const word &codeName, const word &codeDirName, const wordList &codeKeys, const wordList &codeDictVars, const word &optionsFileName, const wordList &compileFiles, const wordList ©Files)
Construct from the context and code dictionaries.
static int allowSystemOperations
Flag if system operations are allowed.
bool upToDate() const
Verify if the copied code is up-to-date, based on Make/SHA1Digest.
bool copyOrCreateFiles(const bool verbose=false) const
Copy/create files prior to compilation.
fileName libPath() const
Library path for specified code name.
HashTable< string > & varSubstitutions()
fileName libRelPath() const
Library path for specified code name relative to $FOAM_CASE.
void write(Ostream &os) const
Write the code for restart.
void * loadLibrary(const fileName &libPath) const
static word libraryBaseName(const fileName &libPath)
Return the library basename without leading 'lib' or trailing '.so'.
const word & codeSha1Name() const
Return the unique code name.
static fileName resolveTemplate(const fileName &templateName)
Resolve code-template via Foam::findConfigFile.
bool wmakeLibso() const
Compile a libso.
void createLibrary(const dictionary &dict, const bool masterOnlyRead=false) const
void read(const dictionary &contextDict, const dictionary &codeDict)
A class for handling file names.
A class for handling verbatimStrings, derived from string.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.