ENH: add link flags for debug/release etc
This commit is contained in:
parent
c3ae42fc1e
commit
ef9e460f65
|
@ -1076,6 +1076,10 @@ void cmLocalVisualStudio6Generator
|
||||||
|
|
||||||
// Get extra linker options for this target type.
|
// Get extra linker options for this target type.
|
||||||
std::string extraLinkOptions;
|
std::string extraLinkOptions;
|
||||||
|
std::string extraLinkOptionsDebug;
|
||||||
|
std::string extraLinkOptionsRelease;
|
||||||
|
std::string extraLinkOptionsMinSizeRel;
|
||||||
|
std::string extraLinkOptionsRelWithDebInfo;
|
||||||
if(target.GetType() == cmTarget::EXECUTABLE)
|
if(target.GetType() == cmTarget::EXECUTABLE)
|
||||||
{
|
{
|
||||||
extraLinkOptions =
|
extraLinkOptions =
|
||||||
|
@ -1099,6 +1103,33 @@ void cmLocalVisualStudio6Generator
|
||||||
extraLinkOptions += targetLinkFlags;
|
extraLinkOptions += targetLinkFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_DEBUG"))
|
||||||
|
{
|
||||||
|
extraLinkOptionsDebug += " ";
|
||||||
|
extraLinkOptionsDebug += targetLinkFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_RELEASE"))
|
||||||
|
{
|
||||||
|
extraLinkOptionsRelease += " ";
|
||||||
|
extraLinkOptionsRelease += targetLinkFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_MINSIZEREL"))
|
||||||
|
{
|
||||||
|
extraLinkOptionsMinSizeRel += " ";
|
||||||
|
extraLinkOptionsMinSizeRel += targetLinkFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_RELWITHDEBINFO"))
|
||||||
|
{
|
||||||
|
extraLinkOptionsRelWithDebInfo += " ";
|
||||||
|
extraLinkOptionsRelWithDebInfo += targetLinkFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Get standard libraries for this language.
|
// Get standard libraries for this language.
|
||||||
if(target.GetType() >= cmTarget::EXECUTABLE &&
|
if(target.GetType() >= cmTarget::EXECUTABLE &&
|
||||||
target.GetType() <= cmTarget::MODULE_LIBRARY)
|
target.GetType() <= cmTarget::MODULE_LIBRARY)
|
||||||
|
@ -1171,13 +1202,13 @@ void cmLocalVisualStudio6Generator
|
||||||
target.GetType() == cmTarget::SHARED_LIBRARY ||
|
target.GetType() == cmTarget::SHARED_LIBRARY ||
|
||||||
target.GetType() == cmTarget::MODULE_LIBRARY)
|
target.GetType() == cmTarget::MODULE_LIBRARY)
|
||||||
{
|
{
|
||||||
this->ComputeLinkOptions(target, "Debug", extraLinkOptions,
|
this->ComputeLinkOptions(target, "Debug", extraLinkOptionsDebug,
|
||||||
optionsDebug);
|
optionsDebug);
|
||||||
this->ComputeLinkOptions(target, "Release", extraLinkOptions,
|
this->ComputeLinkOptions(target, "Release", extraLinkOptionsRelease,
|
||||||
optionsRelease);
|
optionsRelease);
|
||||||
this->ComputeLinkOptions(target, "MinSizeRel", extraLinkOptions,
|
this->ComputeLinkOptions(target, "MinSizeRel", extraLinkOptionsMinSizeRel,
|
||||||
optionsMinSizeRel);
|
optionsMinSizeRel);
|
||||||
this->ComputeLinkOptions(target, "RelWithDebInfo", extraLinkOptions,
|
this->ComputeLinkOptions(target, "RelWithDebInfo", extraLinkOptionsRelWithDebInfo,
|
||||||
optionsRelWithDebInfo);
|
optionsRelWithDebInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1341,41 +1372,18 @@ void cmLocalVisualStudio6Generator
|
||||||
std::string flagVar = baseFlagVar + "_RELEASE";
|
std::string flagVar = baseFlagVar + "_RELEASE";
|
||||||
flagsRelease = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
flagsRelease = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
||||||
flagsRelease += " -DCMAKE_INTDIR=\\\"Release\\\" ";
|
flagsRelease += " -DCMAKE_INTDIR=\\\"Release\\\" ";
|
||||||
if(const char* targetLinkFlags =
|
|
||||||
target.GetProperty("LINK_FLAGS_RELEASE"))
|
|
||||||
{
|
|
||||||
flagsRelease += targetLinkFlags;
|
|
||||||
flagsRelease += " ";
|
|
||||||
}
|
|
||||||
flagVar = baseFlagVar + "_MINSIZEREL";
|
flagVar = baseFlagVar + "_MINSIZEREL";
|
||||||
flagsMinSize = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
flagsMinSize = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
||||||
flagsMinSize += " -DCMAKE_INTDIR=\\\"MinSizeRel\\\" ";
|
flagsMinSize += " -DCMAKE_INTDIR=\\\"MinSizeRel\\\" ";
|
||||||
if(const char* targetLinkFlags =
|
|
||||||
target.GetProperty("LINK_FLAGS_MINSIZEREL"))
|
|
||||||
{
|
|
||||||
flagsMinSize += targetLinkFlags;
|
|
||||||
flagsMinSize += " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
flagVar = baseFlagVar + "_DEBUG";
|
flagVar = baseFlagVar + "_DEBUG";
|
||||||
flagsDebug = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
flagsDebug = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
||||||
flagsDebug += " -DCMAKE_INTDIR=\\\"Debug\\\" ";
|
flagsDebug += " -DCMAKE_INTDIR=\\\"Debug\\\" ";
|
||||||
if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_DEBUG"))
|
|
||||||
{
|
|
||||||
flagsDebug += targetLinkFlags;
|
|
||||||
flagsDebug += " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
flagVar = baseFlagVar + "_RELWITHDEBINFO";
|
flagVar = baseFlagVar + "_RELWITHDEBINFO";
|
||||||
flagsDebugRel = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
flagsDebugRel = this->Makefile->GetSafeDefinition(flagVar.c_str());
|
||||||
flagsDebugRel += " -DCMAKE_INTDIR=\\\"RelWithDebInfo\\\" ";
|
flagsDebugRel += " -DCMAKE_INTDIR=\\\"RelWithDebInfo\\\" ";
|
||||||
if(const char* targetLinkFlags =
|
|
||||||
target.GetProperty("LINK_FLAGS_RELWITHDEBINFO"))
|
|
||||||
{
|
|
||||||
flagsDebugRel += targetLinkFlags;
|
|
||||||
flagsDebugRel += " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// if unicode is not found, then add -D_MBCS
|
// if unicode is not found, then add -D_MBCS
|
||||||
|
|
Loading…
Reference in New Issue