A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/msvc__makefile_8cpp_source.html below:

NCBI C++ ToolKit: src/build-system/project_tree_builder/msvc_makefile.cpp Source File

45 #if defined(NCBI_COMPILER_MSVC) || defined(NCBI_XCODE_BUILD) || defined(PSEUDO_XCODE) 46  if

(

CFile

(file_path).Exists()) {

64  const string

&

value

,

const string

& section,

const string

& opt)

66  if

(

value

.empty() ||

71  string

name(section+

"_"

+opt+

"_"

+

value

);

73  "Translate"

, name,

value

);

78  if

(

value

.empty() ||

85  string data

(

value

), raw_macro, macro, definition;

86

string::size_type start, end,

done

= 0;

88  if

((start =

data

.find(

"$("

,

done

)) == string::npos) {

91

end =

data

.find(

")"

, start);

92  if

(end == string::npos) {

95

raw_macro =

data

.substr(start,end-start+1);

98

definition = meta.

m_MakeFile

.

Get

(

"Translate"

,

string

(

"Macro_"

) + macro);

99  if

(definition.empty()) {

114  string

sec(

"Configuration"

);

121  string

sec(

"Compiler"

);

129  string

sec(

"Linker"

);

137  string

sec(

"Librarian"

);

145  string

sec(

"ResourceCompiler"

);

163

(

const string

& project_id,

164  const string

& source_file_full_path,

165  const string

& tree_src_dir)

const 175  string

source_file_dir;

179  size_t

max_match = 0;

183  const string

& branch_subdir = p->first;

184  string

abs_branch_subdir =

188  if

(

IsSubdir

(abs_branch_subdir, source_file_dir) ) {

189  if

( branch_subdir.length() > max_match ) {

190

max_match = branch_subdir.length();

191

pch_file = p->second;

216  string

irrelevant[] = {

"UsePch"

,

"PchUsageDefine"

,

"DefaultPch"

,

"DoNotUsePch"

,

""

};

218

list<string> projects_with_pch_dirs;

220  ITERATE

(list<string>, p, projects_with_pch_dirs) {

221  const string

&

key

= *p;

223  for

(

int i

=0;

ok

&& !irrelevant[

i

].empty(); ++

i

) {

224  ok

=

key

!= irrelevant[

i

];

247  string

name(

"Makefile."

);

249

name += project_name +

'.'

;

264

name +=

"msvcproj."

;

268

name +=

"dataspec."

;

312

string::size_type start, end;

313  if

((start =

value

.find(

"$("

)) != string::npos &&

314

(end =

value

.find(

")"

)) != string::npos && (end > start)) {

315  string

raw_define =

value

.substr(start+2,end-start-2);

317  if

(!new_val.empty()) {

318

redef.push_back(

"$("

+ new_val +

")"

);

323  string

raw_define =

value

.substr(1,

value

.length()-2);

325  if

(!new_val.empty()) {

326

redef.push_back(

"@"

+ new_val +

"@"

);

332  if

(!new_val.empty()) {

347

redef.insert(redef.end(),

value

.begin(),

value

.end());

352

redef.insert(redef.end(),newval.begin(), newval.end());

365

values.push_back(def);

369

values.insert(values.end(), redef.begin(), redef.end());

371

values.push_back(def);

379

values.insert(values.end(), def.begin(), def.end());

381  ITERATE

(list<string>, k, def) {

394  return val

!=

"FALSE"

;

399

list<string>* files)

const 401  string

files_string =

409

list<string>* lib_ids)

const 419

list<string>* files)

const 421  string

files_string =

423  "ExcludedFromProject"

,

"SourceFiles"

,

config

);

430

list<string>* lib_ids)

const 434  "ExcludedFromProject"

,

"LIB"

,

config

);

441

list<string>* dirs)

const 450

list<string>* files)

const 456

list<string>* files)

const 473

files->push_back(

"*.h"

);

474

files->push_back(

"*.hpp"

);

479

list<string>* files)

const 482

files->push_back(

"*.inl"

);

486

list<string>* files)

const 489

files->push_back(

"*.inl"

);

497  string

source_files_str =

499  if

(source_files_str.empty()) {

503

list<string> source_files;

506  ITERATE

(list<string>, p, source_files){

507  const string

& source_file = *p;

510  string

source_file_path_abs =

526  info

->push_back(build_info);

541

list<string>* files)

const 543  string

files_string =

551  string

prefix(

"ExtraFileGroup."

);

552

list<string> sections;

554  ITERATE

(list<string>, s, sections) {

557  string

group_name =

NStr::Replace

(s->substr(prefix.size()),

"_"

,

" "

);

559

list<string> raw_files, files;

562  bool

started =

false

;

563  ITERATE

(list<string>,

f

, raw_files) {

565  if

(part[0] ==

'\"'

&& !started) {

566

fname = part.substr(1);

570  else if

(part[part.size()-1] ==

'\"'

) {

572

fname += part.substr(0,part.size()-1);

582

files.push_back(fname);

586  if

(!group_name.empty() && !files.empty()) {

587

(*files_map)[group_name] = files;

602  string

priority_string =

605  if

( priority_string.empty() )

616  string

name =

"Makefile."

+ reqs;

617  switch

(project_type) {

636  const string

& rules_basedir,

637  const

list<string> requires_list)

638

:m_ProjectMakefile(project_makefile)

640  ITERATE

(list<string>, p, requires_list) {

641  const string

& reqs = *p;

642  string

rule_path = rules_basedir;

649  if

( !rule->IsEmpty() )

659 #define IMPLEMENT_COMBINED_MAKEFILE_OPT(X) \ 660 string CMsvcCombinedProjectMakefile::X(const string& opt, \ 661  const SConfigInfo& config) const \ 663  string prj_val = m_ProjectMakefile->X(opt, config); \ 664  if ( !prj_val.empty() ) \ 668  ITERATE(TRules, p, m_Rules) { \ 669  const TRule& rule = *p; \ 670  string rule_val = rule->X(opt, config); \ 671  if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \ 673  priority = rule->GetRulePriority(config); \ 693  const

list<string>& rules_paths_list,

694  const string

& project_base_dir,

695

list<string>* project_paths_list)

697

project_paths_list->clear();

698  ITERATE

(list<string>, p, rules_paths_list) {

699  const string

& rules_path = *p;

700  string

rules_abs_path =

702  string

project_path =

704

project_paths_list->push_back(project_path);

709 #define IMPLEMENT_COMBINED_MAKEFILE_VALUES(X) \ 710 void CMsvcCombinedProjectMakefile::X(const SConfigInfo& config, \ 711  list<string>* values_list) const \ 713  list<string> prj_val; \ 714  m_ProjectMakefile->X(config, &prj_val); \ 715  if ( !prj_val.empty() ) { \ 716  *values_list = prj_val; \ 721  ITERATE(TRules, p, m_Rules) { \ 722  const TRule& rule = *p; \ 723  list<string> rule_val; \ 724  rule->X(config, &rule_val); \ 725  if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \ 727  priority = rule->GetRulePriority(config); \ 730  *values_list = val; \ 734 #define IMPLEMENT_COMBINED_MAKEFILE_FILESLIST(X) \ 735 void CMsvcCombinedProjectMakefile::X(const SConfigInfo& config, \ 736  list<string>* values_list) const \ 738  list<string> prj_val; \ 739  m_ProjectMakefile->X(config, &prj_val); \ 740  if ( !prj_val.empty() ) { \ 741  *values_list = prj_val; \ 746  string rule_base_dir; \ 747  ITERATE(TRules, p, m_Rules) { \ 748  const TRule& rule = *p; \ 749  list<string> rule_val; \ 750  rule->X(config, &rule_val); \ 751  if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \ 753  priority = rule->GetRulePriority(config); \ 754  rule_base_dir = rule->m_ProjectBaseDir; \ 757  s_ConvertRelativePaths(rule_base_dir, \ 759  m_ProjectMakefile->m_ProjectBaseDir, \ 781

(list<SCustomBuildInfo>*

info

)

const 800  if

(

val

.empty() ) {

static EMsvcPlatform GetMsvcPlatform(void)

static EMsvcVersion GetMsvcVersion(void)

Combining of rules and project makefile.

virtual void GetCustomBuildInfo(list< SCustomBuildInfo > *info) const

TProjectMakefile m_ProjectMakefile

CMsvcCombinedProjectMakefile(void)

virtual bool IsExcludeProject(bool default_val) const

virtual void GetExtraFiles(map< string, list< string > > *files) const

void GetCustomScriptInfo(SCustomScriptInfo &info, const string &section) const

virtual ~CMsvcCombinedProjectMakefile(void)

CMsvcProjectMakefile –.

CMsvcProjectMakefile(void)

virtual void GetHeadersInInclude(const SConfigInfo &config, list< string > *files) const

virtual bool IsExcludeProject(bool default_val) const

virtual void GetResourceFiles(const SConfigInfo &config, list< string > *files) const

bool Redefine(const string &value, list< string > &redef) const

void x_GetHeaders(const SConfigInfo &config, const string &entry, list< string > *files) const

virtual void GetAdditionalIncludeDirs(const SConfigInfo &config, list< string > *files) const

virtual void GetCustomBuildInfo(list< SCustomBuildInfo > *info) const

virtual void GetInlinesInInclude(const SConfigInfo &config, list< string > *files) const

string GetGUID(void) const

virtual void GetHeadersInSrc(const SConfigInfo &config, list< string > *files) const

virtual void GetInlinesInSrc(const SConfigInfo &config, list< string > *files) const

void Append(list< string > &values, const string &def) const

virtual void GetAdditionalLIB(const SConfigInfo &config, list< string > *lib_ids) const

virtual void GetAdditionalSourceFiles(const SConfigInfo &config, list< string > *files) const

void GetCustomScriptInfo(SCustomScriptInfo &info, const string &section) const

virtual void GetExtraFiles(map< string, list< string > > *files) const

virtual void GetExcludedLIB(const SConfigInfo &config, list< string > *lib_ids) const

virtual void GetExcludedSourceFiles(const SConfigInfo &config, list< string > *files) const

Abstraction of rule for generation of project settings based on component usage.

int GetRulePriority(const SConfigInfo &config) const

CMsvcProjectRuleMakefile(void)

string ProcessMacros(string data, bool preserve_unresolved=true) const

CProjBulderAppException –.

const CMsvcMetaMakefile & GetMetaMakefile(void)

const CMsvc7RegSettings & GetRegSettings(void)

const CMsvcSite & GetSite(void)

TProjType m_ProjType

Type of the project.

string m_Name

Name of atomic project.

void EnumerateSections(list< string > *sections) const

void EnumerateEntries(const string &section, list< string > *entries) const

void Read(CNcbiIstream &is)

string Get(const string &section, const string &name) const

string GetString(const string &section, const string &name, const string &default_value=kEmptyStr) const

static string StripDefine(const string &define)

static bool IsDefine(const string &param)

The NCBI C++ standard methods for dealing with std::string.

#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.

static string AddTrailingPathSeparator(const string &path)

Add trailing path separator, if needed.

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 ConvertToOSPath(const string &path)

Convert "path" on any OS to the current OS-dependent path.

static char GetPathSeparator(void)

Get path separator symbol specific for the current platform.

static string ConcatPath(const string &first, const string &second)

Concatenate two parts of the path for the current OS.

static void SplitPath(const string &path, string *dir=0, string *base=0, string *ext=0)

Split a path string into its basic components.

#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 StringToBool(const CTempString str)

Convert string to bool.

static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to int.

static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)

Split a string using specified delimiters.

static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)

Check if a string ends with a specified suffix value.

static string IntToString(int value, TNumToStringFlags flags=0, int base=10)

Convert int to string.

static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)

Replace occurrences of a substring within a string.

static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)

Check if a string starts with a specified prefix value.

@ fSplit_MergeDelimiters

Merge adjacent delimiters.

string GetLibrarianOpt(const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)

Librarian.

#define IMPLEMENT_COMBINED_MAKEFILE_FILESLIST(X)

string GetResourceCompilerOpt(const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)

ResourceCompiler.

#define IMPLEMENT_COMBINED_MAKEFILE_VALUES(X)

static string s_CreateRuleMakefileFilename(CProjItem::TProjType project_type, const string &reqs)

string GetConfigurationOpt(const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)

Get option with taking into account 2 makefiles : matafile and project_file.

#define IMPLEMENT_COMBINED_MAKEFILE_OPT(X)

string GetCompilerOpt(const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)

Compiler.

string GetLinkerOpt(const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)

Linker.

static void s_ConvertRelativePaths(const string &rule_base_dir, const list< string > &rules_paths_list, const string &project_base_dir, list< string > *project_paths_list)

string CreateMsvcProjectMakefileName(const string &project_name, CProjItem::TProjType type)

Create project makefile name.

#define LIST_SEPARATOR

Separator for list values in registry.

string GetOpt(const CPtbRegistry &registry, const string &section, const string &opt, const string &config)

bool IsSubdir(const string &abs_parent_dir, const string &abs_dir)

Is abs_dir a parent of abs_parent_dir.

const struct ncbi::grid::netcache::search::fields::KEY key

const GenericPointer< typename T::ValueType > T2 value

std::istream & in(std::istream &in_, double &x_)

CProjBulderApp & GetApp(void)

access to App singleton

string m_AdditionalDependencies


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