MantisBT - CMake | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0014258 | CMake | CMake | public | 2013-06-29 06:12 | 2016-05-02 08:30 | |||||
Reporter | Andrew S. | |||||||||
Assigned To | ||||||||||
Priority | high | Severity | major | Reproducibility | always | |||||
Status | closed | Resolution | fixed | |||||||
Platform | OS | OS Version | ||||||||
Product Version | CMake 2.8.11.1 | |||||||||
Target Version | CMake 3.5 | Fixed in Version | CMake 3.5 | |||||||
Summary | 0014258: MACOSX_BUNDLE path problem when building for iOS with Xcode | |||||||||
Description | (Copied from backlogged issue submitted by Duron http://public.kitware.com/Bug/view.php?id=12451 [^]): I'm not sure if building for iOS is officially supported, but here goes... When building for iOS with MACOSX_BUNDLE specified on the target, this generates an XCODE_DEPEND_HELPER.make with Foo.app/Contents/MacOS/foo paths in it. However for iOS builds, Xcode places the executable 'foo' in Foo.app/foo. I couldn't find an option to change this behavior. The result is that dependency checking does not work and a clean build is required every time the app is compiled. End of original message ---- This bug is very annoying: you always have to change something each time in a main target to force full project relink when developing a depend library. See proposed patch below. It introduces MACOSX_BUNDLE_BUILD_FOR_IOS property which will allow to remove "Contents/MacOS" from output paths when building for iOS. The patch is fully working - tried successfully on our big project. | |||||||||
Steps To Reproduce | Set up an iOS project by setting CMAKE_OSX_SYSROOT, CMAKE_OSX_ARCHITECTURES and MACOSX_BUNDLE_GUI_IDENTIFIER. Specify MACOSX_BUNDLE for the target executable. Make a change in a dependency and rebuild the app. The app will not be updated. | |||||||||
Additional Information | diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index b14db43..fb3902f 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -6473,6 +6473,8 @@ std::string cmTarget::GetAppBundleDirectory(const char* config, bool contentOnly) { std::string fpath = this->GetFullName(config, false); + if (this->GetPropertyAsBool("MACOSX_BUNDLE_BUILD_FOR_IOS")) + return fpath + ".app"; fpath += ".app/Contents"; if(!contentOnly) fpath += "/MacOS"; | |||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | ||||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2013-06-29 06:12 | Andrew S. | New Issue | ||||||||
2013-07-01 15:43 | Brad King | Assigned To | => Clinton Stimpson | |||||||
2013-07-01 15:43 | Brad King | Status | new => assigned | |||||||
2013-07-01 15:43 | Brad King | Note Added: 0033441 | ||||||||
2013-07-01 15:44 | Brad King | Relationship added | has duplicate 0012451 | |||||||
2013-07-01 15:46 | Brad King | Summary | MACOSX_BUNDLE path problem when => MACOSX_BUNDLE path problem when building for iOS with Xcode | |||||||
2013-07-01 15:46 | Brad King | Additional Information Updated | bug_revision_view_page.php?rev_id=1205#r1205 | |||||||
2013-07-01 15:56 | Clinton Stimpson | Note Added: 0033443 | ||||||||
2013-07-01 15:57 | Brad King | Assigned To | Clinton Stimpson => | |||||||
2013-07-01 15:57 | Brad King | Status | assigned => backlog | |||||||
2013-07-01 16:01 | Brad King | Note Added: 0033444 | ||||||||
2013-07-01 16:06 | Clinton Stimpson | Note Added: 0033445 | ||||||||
2015-12-18 05:18 | Bartosz | Note Added: 0039996 | ||||||||
2015-12-18 08:17 | Brad King | Note Added: 0039997 | ||||||||
2015-12-18 08:18 | Brad King | Status | backlog => resolved | |||||||
2015-12-18 08:18 | Brad King | Resolution | open => fixed | |||||||
2015-12-18 08:18 | Brad King | Fixed in Version | => CMake 3.5 | |||||||
2015-12-18 08:18 | Brad King | Target Version | => CMake 3.5 | |||||||
2016-05-02 08:30 | Robert Maynard | Note Added: 0040989 | ||||||||
2016-05-02 08:30 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|