& source_base_dir,
40list<string>* includes)
50 while( getline(ifs, strline) ) {
51 const stringinclude_token(
"include ");
54 stringinclude = strline.substr(include_token.length());
57 stringsrcdir_token(
"$(srcdir)");
58 if(include.find(srcdir_token) == 0) {
59root = source_base_dir;
61srcdir_token =
"$(top_srcdir)";
62 if(include.find(srcdir_token) == 0) {
67srcdir_token =
"$(builddir)";
78include = include.substr(srcdir_token.length());
82includes->push_back(include);
90 const string& source_base_dir,
91 constlist<string>& sources_src)
92:m_MakefilePath (applib_mfilepath),
93m_SourcesBaseDir(source_base_dir),
94m_SourcesSrc (sources_src)
107 if(
CDirEntry(path +
".cpp").Exists() )
109 if(
CDirEntry(path +
".cxx").Exists() )
111 if(
CDirEntry(path +
".cc").Exists() )
115 if(
CDirEntry(path +
".metal").Exists() )
123sources_dst->clear();
126list<string> sources_names;
128 const string& src = *p;
135sources_names.push_back(src);
138list<string> resolved_src_defines;
140 if(resolved_src_defines.size() == 1 && resolved_src_defines.front() == src_define) {
143 copy(resolved_src_defines.begin(),
144resolved_src_defines.end(),
145back_inserter(sources_names));
148 ITERATE(list<string>, p, sources_names) {
149 const string& src = *p;
152sources_dst->push_back(src);
156 const string& dir = *
n;
161sources_dst->push_back(path);
168sources_dst->push_back(src);
178list<string> include_makefiles;
182 ITERATE(list<string>, p, include_makefiles) {
CProjBulderAppException â.
const SProjectTreeInfo & GetProjectTreeInfo(void)
const string & GetBuildRoot(void) const
void PrepareResolver(void)
const list< string > & m_SourcesSrc
void ResolveTo(list< string > *sources_dst)
const string m_SourcesBaseDir
const string m_MakefilePath
list< string > m_MakefileDirs
void Resolve(const string &define, list< string > *resolved_def)
CSymResolver & Append(const CSymResolver &src, bool warn_redef=false)
static void LoadFrom(const string &file_path, CSymResolver *resolver)
static bool IsDefine(const string ¶m)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
static string NormalizePath(const string &path, EFollowLinks follow_links=eIgnoreLinks)
Normalize a path.
string GetDir(EIfEmptyPath mode=eIfEmptyPath_Current) const
Get the directory component for this directory entry.
static string CreateRelativePath(const string &path_from, const string &path_to)
Create a relative path between two points in the file system specified by their absolute paths.
static string ConcatPath(const string &first, const string &second)
Concatenate two parts of the path for the current OS.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
std::istream & in(std::istream &in_, double &x_)
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
CProjBulderApp & GetApp(void)
access to App singleton
static bool s_SourceFileExists(const string &dir, const string &name)
static void s_GetMakefileIncludes(const string &applib_mfilepath, const string &source_base_dir, list< string > *includes)
string FilterDefine(const string &define)
static bool IsConfigurableDefine(const string &define)
static string StripConfigurableDefine(const string &define)
string m_Root
Root of the project tree.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4