mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-07-14 06:52:52 +03:00
Add ${relative_dir} useful to solve case mentioned at https://github.com/SpartanJ/ecode/discussions/876
This commit is contained in:
@@ -29,6 +29,7 @@ static const char* VAR_NPROC = "${nproc}";
|
||||
static const char* VAR_CURRENT_DOC = "${current_doc}";
|
||||
static const char* VAR_CURRENT_DOC_NAME = "${current_doc_name}";
|
||||
static const char* VAR_CURRENT_DOC_DIR = "${current_doc_dir}";
|
||||
static const char* VAR_RELATIVE_DIR = "${relative_dir}";
|
||||
|
||||
static void replaceVar( ProjectBuildStep& s, const std::string& var, const std::string& val ) {
|
||||
static std::string slashDup = FileSystem::getOSSlash() + FileSystem::getOSSlash();
|
||||
@@ -398,12 +399,16 @@ void ProjectBuildManager::replaceDynamicVars( ProjectBuildCommand& cmd ) {
|
||||
std::string curDocName =
|
||||
FileSystem::fileRemoveExtension( FileSystem::fileNameFromPath( curDoc ) );
|
||||
std::string curDocDir = FileSystem::fileRemoveFileName( curDoc );
|
||||
std::string relativeDir = curDocDir;
|
||||
FileSystem::filePathRemoveBasePath( mProjectRoot, relativeDir );
|
||||
FileSystem::dirAddSlashAtEnd( relativeDir );
|
||||
replaceVar( cmd, VAR_OS, currentOS );
|
||||
replaceVar( cmd, VAR_ARCH, Sys::getOSArchitecture() );
|
||||
replaceVar( cmd, VAR_NPROC, nproc );
|
||||
replaceVar( cmd, VAR_CURRENT_DOC, curDoc );
|
||||
replaceVar( cmd, VAR_CURRENT_DOC_NAME, curDocName );
|
||||
replaceVar( cmd, VAR_CURRENT_DOC_DIR, curDocDir );
|
||||
replaceVar( cmd, VAR_RELATIVE_DIR, relativeDir );
|
||||
if ( cmd.workingDir.empty() )
|
||||
cmd.workingDir = mProjectRoot;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user