MantisBT - CMake | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0014161 | CMake | CMake | public | 2013-05-22 08:44 | 2013-10-07 10:09 |
| Reporter | Matthew Bentham | ||||
| Assigned To | Brad King | ||||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | Apple Mac | OS | OS X | OS Version | 10.4.10 |
| Product Version | CMake 2.8.11 | ||||
| Target Version | CMake 2.8.12 | Fixed in Version | CMake 2.8.12 | ||
| Summary | 0014161: Xcode generator ignores CMAKE_(MODULE|SHARED)_LINKER_FLAGS_<CONFIG> | ||||
| Description | When generating using Xcode, the following variables have no effect: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_RELEASE The _<CONFIG> variants of CMAKE_EXE_LINKER_FLAGS work correctly, as do the base variables CMAKE_MODULE_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS. | ||||
| Steps To Reproduce | |||||
| Additional Information | Suggested patch: Index: Source/cmGlobalXCodeGenerator.cxx =================================================================== --- Source/cmGlobalXCodeGenerator.cxx (revision 47381) +++ Source/cmGlobalXCodeGenerator.cxx (working copy) @@ -1714,30 +1714,26 @@ buildSettings->AddAttribute ("GCC_PREPROCESSOR_DEFINITIONS", ppDefs.CreateList()); + std::string extraLinkOptionsVar; std::string extraLinkOptions; if(target.GetType() == cmTarget::EXECUTABLE) { - extraLinkOptions = - 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; - } + extraLinkOptionsVar = "CMAKE_EXE_LINKER_FLAGS"; } - if(target.GetType() == cmTarget::SHARED_LIBRARY) + else if(target.GetType() == cmTarget::SHARED_LIBRARY) { - extraLinkOptions = this->CurrentMakefile-> - GetRequiredDefinition("CMAKE_SHARED_LINKER_FLAGS"); + extraLinkOptionsVar = "CMAKE_SHARED_LINKER_FLAGS"; } - if(target.GetType() == cmTarget::MODULE_LIBRARY) + else if(target.GetType() == cmTarget::MODULE_LIBRARY) { - extraLinkOptions = this->CurrentMakefile-> - GetRequiredDefinition("CMAKE_MODULE_LINKER_FLAGS"); + extraLinkOptionsVar = "CMAKE_MODULE_LINKER_FLAGS"; + } + + if (extraLinkOptionsVar.size()) + { + this->CurrentLocalGenerator->AddConfigVariableFlags(extraLinkOptions, + extraLinkOptionsVar.c_str(), + configName); } const char* linkFlagsProp = "LINK_FLAGS"; | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2013-05-22 08:44 | Matthew Bentham | New Issue | |||
| 2013-05-22 11:46 | Brad King | Assigned To | => Brad King | ||
| 2013-05-22 11:46 | Brad King | Status | new => assigned | ||
| 2013-05-22 11:46 | Brad King | Target Version | => CMake 2.8.12 | ||
| 2013-05-22 13:10 | Brad King | Note Added: 0033111 | |||
| 2013-05-22 13:10 | Brad King | Status | assigned => resolved | ||
| 2013-05-22 13:10 | Brad King | Resolution | open => fixed | ||
| 2013-05-22 13:10 | Brad King | Fixed in Version | => CMake 2.8.12 | ||
| 2013-10-07 10:09 | Robert Maynard | Note Added: 0034054 | |||
| 2013-10-07 10:09 | Robert Maynard | Status | resolved => closed | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||