diff options
author | Clinton Stimpson <clinton@elemtech.com> | 2013-05-05 20:19:05 -0600 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-05-23 10:42:49 -0400 |
commit | 373faae5e1c936351b143b0561c61ef9884303e1 (patch) | |
tree | d5559e6ed2dea2570492c1004c493bfcba76cb1e /Source/cmOSXBundleGenerator.h | |
parent | 78185f598c152b1dbce632e953874ce8132c5fe9 (diff) | |
download | cmake-373faae5e1c936351b143b0561c61ef9884303e1.tar.gz |
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/cmOSXBundleGenerator.h')
-rw-r--r-- | Source/cmOSXBundleGenerator.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Source/cmOSXBundleGenerator.h b/Source/cmOSXBundleGenerator.h index 01e3cbeb43..6cf81d25d5 100644 --- a/Source/cmOSXBundleGenerator.h +++ b/Source/cmOSXBundleGenerator.h @@ -28,12 +28,19 @@ public: static void PrepareTargetProperties(cmTarget* target); cmOSXBundleGenerator(cmTarget* target, - std::string targetNameOut, const char* configName); - void CreateAppBundle(std::string& targetName, std::string& outpath); - void CreateFramework(std::string const& targetName); - void CreateCFBundle(std::string& targetName, std::string& outpath); + // create an app bundle at a given root, and return + // the directory within the bundle that contains the executable + void CreateAppBundle(const std::string& targetName, std::string& root); + + // create a framework at a given root + void CreateFramework(const std::string& targetName, + const std::string& root); + + // create a cf bundle at a given root and return the + // directory within the bundle that contains the library + void CreateCFBundle(const std::string& targetName, std::string& outpath); struct MacOSXContentGeneratorType { @@ -46,10 +53,6 @@ public: MacOSXContentGeneratorType* generator); std::string InitMacOSXContentDirectory(const char* pkgloc); - std::string GetMacContentDirectory() const - { return this->MacContentDirectory; } - std::string GetFrameworkVersion() const - { return this->FrameworkVersion; } void SetMacContentFolders(std::set<cmStdString>* macContentFolders) { this->MacContentFolders = macContentFolders; } @@ -60,10 +63,7 @@ private: cmTarget* Target; cmMakefile* Makefile; cmLocalGenerator* LocalGenerator; - std::string TargetNameOut; const char* ConfigName; - std::string MacContentDirectory; - std::string FrameworkVersion; std::set<cmStdString>* MacContentFolders; }; |