diff options
author | Clinton Stimpson <clinton@elemtech.com> | 2013-05-06 02:19:05 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-05-23 14:42:49 (GMT) |
commit | 373faae5e1c936351b143b0561c61ef9884303e1 (patch) | |
tree | d5559e6ed2dea2570492c1004c493bfcba76cb1e /Source/cmGlobalXCodeGenerator.cxx | |
parent | 78185f598c152b1dbce632e953874ce8132c5fe9 (diff) | |
download | CMake-373faae5e1c936351b143b0561c61ef9884303e1.zip CMake-373faae5e1c936351b143b0561c61ef9884303e1.tar.gz CMake-373faae5e1c936351b143b0561c61ef9884303e1.tar.bz2 |
Refactor how bundles and frameworks are supported.
Make handling of directory separators consistent between
non-bundle and bundle code.
Remove xcode specific flag from cmTarget when getting install_name.
Add (more) consistent convenience functions in cmTarget to get
directories inside of bundles and frameworks to add files to.
This refactor also fixes bug #12263 where frameworks
had the wrong install name when SKIP_BUILD_RPATH.
Also make install_name for frameworks consistent between Makefile
and Xcode generator.
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index ceac564..240d60c 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -1823,6 +1823,11 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target, pndir = target.GetDirectory(configName); } + if(target.IsFrameworkOnApple()) + { + pnprefix = ""; + } + buildSettings->AddAttribute("EXECUTABLE_PREFIX", this->CreateString(pnprefix.c_str())); buildSettings->AddAttribute("EXECUTABLE_SUFFIX", @@ -2156,14 +2161,14 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target, if(target.GetType() == cmTarget::SHARED_LIBRARY) { // Get the install_name directory for the build tree. - install_name_dir = target.GetInstallNameDirForBuildTree(configName, true); + install_name_dir = target.GetInstallNameDirForBuildTree(configName); if(install_name_dir.empty()) { // Xcode will not pass the -install_name option at all if INSTALL_PATH // is not given or is empty. We must explicitly put the flag in the // link flags to create an install_name with just the library soname. extraLinkOptions += " -install_name "; - extraLinkOptions += target.GetFullName(configName); + extraLinkOptions += target.GetSOName(configName); } else { |