NCBI C++ ToolKit
Macros | Functions
msvc_makefile.cpp File Reference
#include <ncbi_pch.hpp>
#include "stl_msvc_usage.hpp"
#include "msvc_makefile.hpp"
#include "proj_builder_app.hpp"
#include "msvc_prj_defines.hpp"
#include <algorithm>
#include <corelib/ncbistr.hpp>
+ Include dependency graph for msvc_makefile.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Macros

#define IMPLEMENT_COMBINED_MAKEFILE_OPT(X)
 
#define IMPLEMENT_COMBINED_MAKEFILE_VALUES(X)
 
#define IMPLEMENT_COMBINED_MAKEFILE_FILESLIST(X)
 

Functions

string CreateMsvcProjectMakefileName (const string &project_name, CProjItem::TProjType type)
 Create project makefile name. More...
 
string CreateMsvcProjectMakefileName (const CProjItem &project)
 
static string s_CreateRuleMakefileFilename (CProjItem::TProjType project_type, const string &reqs)
 
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 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. More...
 
string GetCompilerOpt (const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)
 Compiler. More...
 
string GetLinkerOpt (const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)
 Linker. More...
 
string GetLibrarianOpt (const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)
 Librarian. More...
 
string GetResourceCompilerOpt (const IMsvcMetaMakefile &meta_file, const IMsvcMetaMakefile &project_file, const string &opt, const SConfigInfo &config)
 ResourceCompiler. More...
 

Macro Definition Documentation

◆ IMPLEMENT_COMBINED_MAKEFILE_FILESLIST

#define IMPLEMENT_COMBINED_MAKEFILE_FILESLIST (   X)
Value:
void CMsvcCombinedProjectMakefile::X(const SConfigInfo& config, \
list<string>* values_list) const \
{ \
list<string> prj_val; \
m_ProjectMakefile->X(config, &prj_val); \
if ( !prj_val.empty() ) { \
*values_list = prj_val; \
return; \
} \
list<string> val; \
int priority = 0; \
string rule_base_dir; \
ITERATE(TRules, p, m_Rules) { \
const TRule& rule = *p; \
list<string> rule_val; \
rule->X(config, &rule_val); \
if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \
val = rule_val; \
priority = rule->GetRulePriority(config); \
rule_base_dir = rule->m_ProjectBaseDir; \
} \
} \
s_ConvertRelativePaths(rule_base_dir, \
val, \
m_ProjectMakefile->m_ProjectBaseDir, \
values_list); \
}
SConfigInfo –.

Definition at line 734 of file msvc_makefile.cpp.

◆ IMPLEMENT_COMBINED_MAKEFILE_OPT

#define IMPLEMENT_COMBINED_MAKEFILE_OPT (   X)
Value:
string CMsvcCombinedProjectMakefile::X(const string& opt, \
const SConfigInfo& config) const \
{ \
string prj_val = m_ProjectMakefile->X(opt, config); \
if ( !prj_val.empty() ) \
return prj_val; \
string val; \
int priority = 0; \
ITERATE(TRules, p, m_Rules) { \
const TRule& rule = *p; \
string rule_val = rule->X(opt, config); \
if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \
val = rule_val; \
priority = rule->GetRulePriority(config); \
} \
} \
return val; \
}

Definition at line 659 of file msvc_makefile.cpp.

◆ IMPLEMENT_COMBINED_MAKEFILE_VALUES

#define IMPLEMENT_COMBINED_MAKEFILE_VALUES (   X)
Value:
void CMsvcCombinedProjectMakefile::X(const SConfigInfo& config, \
list<string>* values_list) const \
{ \
list<string> prj_val; \
m_ProjectMakefile->X(config, &prj_val); \
if ( !prj_val.empty() ) { \
*values_list = prj_val; \
return; \
} \
list<string> val; \
int priority = 0; \
ITERATE(TRules, p, m_Rules) { \
const TRule& rule = *p; \
list<string> rule_val; \
rule->X(config, &rule_val); \
if ( !rule_val.empty() && priority < rule->GetRulePriority(config)) { \
val = rule_val; \
priority = rule->GetRulePriority(config); \
} \
} \
*values_list = val; \
}

Definition at line 709 of file msvc_makefile.cpp.

Function Documentation

◆ CreateMsvcProjectMakefileName() [1/2]

string CreateMsvcProjectMakefileName ( const CProjItem project)

◆ CreateMsvcProjectMakefileName() [2/2]

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

◆ GetCompilerOpt()

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

◆ GetConfigurationOpt()

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.

Configuration

Definition at line 794 of file msvc_makefile.cpp.

References IMsvcMetaMakefile::GetConfigurationOpt(), kEmptyStr, and val.

Referenced by CConfigurationImpl< ConfTrait >::CharacterSet().

◆ GetLibrarianOpt()

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

◆ GetLinkerOpt()

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

◆ GetResourceCompilerOpt()

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

◆ s_ConvertRelativePaths()

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 
)
static

◆ s_CreateRuleMakefileFilename()

static string s_CreateRuleMakefileFilename ( CProjItem::TProjType  project_type,
const string reqs 
)
static
Modified on Tue Apr 23 07:40:52 2024 by modify_doxy.py rev. 669887