diff options
author | Bruce Stephens <bruce.stephens@isode.com> | 2016-02-20 19:35:18 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-03-07 19:57:26 (GMT) |
commit | 1f2b39c6ce390570ab3918b5e1169619394bb669 (patch) | |
tree | 750a6ee19cc58ce5408352fc20b06dea69409e1a /Source/cmCommonTargetGenerator.cxx | |
parent | 8256d021c8324779c7269658a094848ebeafb82e (diff) | |
download | CMake-1f2b39c6ce390570ab3918b5e1169619394bb669.zip CMake-1f2b39c6ce390570ab3918b5e1169619394bb669.tar.gz CMake-1f2b39c6ce390570ab3918b5e1169619394bb669.tar.bz2 |
cmCommonTargetGenerator: Adopt AppendOSXVerFlag method
Move this method from cmMakefileLibraryTargetGenerator so it can be
re-used for the Ninja generator too.
Signed-off-by: Bruce Stephens <bruce.r.stephens@gmail.com>
Diffstat (limited to 'Source/cmCommonTargetGenerator.cxx')
-rw-r--r-- | Source/cmCommonTargetGenerator.cxx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx index 76ed038..b5688a8 100644 --- a/Source/cmCommonTargetGenerator.cxx +++ b/Source/cmCommonTargetGenerator.cxx @@ -426,3 +426,35 @@ std::string cmCommonTargetGenerator::GetManifests() return cmJoin(manifests, " "); } + +void cmCommonTargetGenerator +::AppendOSXVerFlag(std::string& flags, const std::string& lang, + const char* name, bool so) +{ + // Lookup the flag to specify the version. + std::string fvar = "CMAKE_"; + fvar += lang; + fvar += "_OSX_"; + fvar += name; + fvar += "_VERSION_FLAG"; + const char* flag = this->Makefile->GetDefinition(fvar); + + // Skip if no such flag. + if(!flag) + { + return; + } + + // Lookup the target version information. + int major; + int minor; + int patch; + this->GeneratorTarget->GetTargetVersion(so, major, minor, patch); + if(major > 0 || minor > 0 || patch > 0) + { + // Append the flag since a non-zero version is specified. + std::ostringstream vflag; + vflag << flag << major << "." << minor << "." << patch; + this->LocalGenerator->AppendFlags(flags, vflag.str()); + } +} |