Xcode: Honor CMAKE_(MODULE|SHARED)_LINKER_FLAGS_<CONFIG> (#14161)
Refactor lookup of CMAKE_(EXE|MODULE|SHARED)_LINKER_FLAGS(|_<CONFIG>) variables to ensure all combinations are handled. Use the helper method AddConfigVariableFlags to simplify the implementation.
This commit is contained in:
parent
4825d70e83
commit
bcda47d2a0
|
@ -1716,30 +1716,26 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
|
||||||
buildSettings->AddAttribute
|
buildSettings->AddAttribute
|
||||||
("GCC_PREPROCESSOR_DEFINITIONS", ppDefs.CreateList());
|
("GCC_PREPROCESSOR_DEFINITIONS", ppDefs.CreateList());
|
||||||
|
|
||||||
|
std::string extraLinkOptionsVar;
|
||||||
std::string extraLinkOptions;
|
std::string extraLinkOptions;
|
||||||
if(target.GetType() == cmTarget::EXECUTABLE)
|
if(target.GetType() == cmTarget::EXECUTABLE)
|
||||||
{
|
{
|
||||||
extraLinkOptions =
|
extraLinkOptionsVar = "CMAKE_EXE_LINKER_FLAGS";
|
||||||
this->CurrentMakefile->GetRequiredDefinition("CMAKE_EXE_LINKER_FLAGS");
|
|
||||||
std::string var = "CMAKE_EXE_LINKER_FLAGS_";
|
|
||||||
var += cmSystemTools::UpperCase(configName);
|
|
||||||
std::string val =
|
|
||||||
this->CurrentMakefile->GetSafeDefinition(var.c_str());
|
|
||||||
if(val.size())
|
|
||||||
{
|
|
||||||
extraLinkOptions += " ";
|
|
||||||
extraLinkOptions += val;
|
|
||||||
}
|
}
|
||||||
}
|
else if(target.GetType() == cmTarget::SHARED_LIBRARY)
|
||||||
if(target.GetType() == cmTarget::SHARED_LIBRARY)
|
|
||||||
{
|
{
|
||||||
extraLinkOptions = this->CurrentMakefile->
|
extraLinkOptionsVar = "CMAKE_SHARED_LINKER_FLAGS";
|
||||||
GetRequiredDefinition("CMAKE_SHARED_LINKER_FLAGS");
|
|
||||||
}
|
}
|
||||||
if(target.GetType() == cmTarget::MODULE_LIBRARY)
|
else if(target.GetType() == cmTarget::MODULE_LIBRARY)
|
||||||
{
|
{
|
||||||
extraLinkOptions = this->CurrentMakefile->
|
extraLinkOptionsVar = "CMAKE_MODULE_LINKER_FLAGS";
|
||||||
GetRequiredDefinition("CMAKE_MODULE_LINKER_FLAGS");
|
}
|
||||||
|
if(extraLinkOptionsVar.size())
|
||||||
|
{
|
||||||
|
this->CurrentLocalGenerator
|
||||||
|
->AddConfigVariableFlags(extraLinkOptions,
|
||||||
|
extraLinkOptionsVar.c_str(),
|
||||||
|
configName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* linkFlagsProp = "LINK_FLAGS";
|
const char* linkFlagsProp = "LINK_FLAGS";
|
||||||
|
|
Loading…
Reference in New Issue