summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx34
1 files changed, 16 insertions, 18 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 13ede5d..6362d80 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -954,29 +954,27 @@ cmLocalGenerator::ExpandRuleVariable(std::string const& variable,
}
}
}
- if(replaceValues.TargetSOName)
+ if(variable == "TARGET_SONAME" || variable == "SONAME_FLAG" ||
+ variable == "TARGET_INSTALLNAME_DIR")
{
- if(variable == "TARGET_SONAME")
+ // All these variables depend on TargetSOName
+ if(replaceValues.TargetSOName)
{
- if(replaceValues.Language)
+ if(variable == "TARGET_SONAME")
{
- std::string name = "CMAKE_SHARED_LIBRARY_SONAME_";
- name += replaceValues.Language;
- name += "_FLAG";
- if(this->Makefile->GetDefinition(name.c_str()))
- {
- return replaceValues.TargetSOName;
- }
+ return replaceValues.TargetSOName;
+ }
+ if(variable == "SONAME_FLAG" && replaceValues.SONameFlag)
+ {
+ return replaceValues.SONameFlag;
+ }
+ if(replaceValues.TargetInstallNameDir &&
+ variable == "TARGET_INSTALLNAME_DIR")
+ {
+ return replaceValues.TargetInstallNameDir;
}
- return "";
- }
- }
- if(replaceValues.TargetInstallNameDir)
- {
- if(variable == "TARGET_INSTALLNAME_DIR")
- {
- return replaceValues.TargetInstallNameDir;
}
+ return "";
}
if(replaceValues.LinkLibraries)
{