BUG: fix issue with -D and cache force
This commit is contained in:
parent
46b9a884ac
commit
0c24570ee4
@ -1561,7 +1561,8 @@ void cmMakefile::AddDefinition(const char* name, const char* value)
|
|||||||
|
|
||||||
void cmMakefile::AddCacheDefinition(const char* name, const char* value,
|
void cmMakefile::AddCacheDefinition(const char* name, const char* value,
|
||||||
const char* doc,
|
const char* doc,
|
||||||
cmCacheManager::CacheEntryType type)
|
cmCacheManager::CacheEntryType type,
|
||||||
|
bool force)
|
||||||
{
|
{
|
||||||
const char* val = value;
|
const char* val = value;
|
||||||
cmCacheManager::CacheIterator it =
|
cmCacheManager::CacheIterator it =
|
||||||
@ -1569,7 +1570,12 @@ void cmMakefile::AddCacheDefinition(const char* name, const char* value,
|
|||||||
if(!it.IsAtEnd() && (it.GetType() == cmCacheManager::UNINITIALIZED) &&
|
if(!it.IsAtEnd() && (it.GetType() == cmCacheManager::UNINITIALIZED) &&
|
||||||
it.Initialized())
|
it.Initialized())
|
||||||
{
|
{
|
||||||
val = it.GetValue();
|
// if this is not a force, then use the value from the cache
|
||||||
|
// if it is a force, then use the value being passed in
|
||||||
|
if(!force)
|
||||||
|
{
|
||||||
|
val = it.GetValue();
|
||||||
|
}
|
||||||
if ( type == cmCacheManager::PATH || type == cmCacheManager::FILEPATH )
|
if ( type == cmCacheManager::PATH || type == cmCacheManager::FILEPATH )
|
||||||
{
|
{
|
||||||
std::vector<std::string>::size_type cc;
|
std::vector<std::string>::size_type cc;
|
||||||
|
@ -264,7 +264,8 @@ public:
|
|||||||
///! Add a definition to this makefile and the global cmake cache.
|
///! Add a definition to this makefile and the global cmake cache.
|
||||||
void AddCacheDefinition(const char* name, const char* value,
|
void AddCacheDefinition(const char* name, const char* value,
|
||||||
const char* doc,
|
const char* doc,
|
||||||
cmCacheManager::CacheEntryType type);
|
cmCacheManager::CacheEntryType type,
|
||||||
|
bool force = false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add bool variable definition to the build.
|
* Add bool variable definition to the build.
|
||||||
|
@ -171,7 +171,7 @@ bool cmSetCommand
|
|||||||
this->Makefile->AddCacheDefinition(variable,
|
this->Makefile->AddCacheDefinition(variable,
|
||||||
value.c_str(),
|
value.c_str(),
|
||||||
docstring,
|
docstring,
|
||||||
type);
|
type, force);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user