View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012942CMakeCMakepublic2012-02-07 16:532016-06-10 14:31
ReporterMichael Pechner 
Assigned ToKitware Robot 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformmaxOSosxOS Version10.6
Product VersionCMake 2.8.7 
Target VersionFixed in Version 
Summary0012942: Would like to specify a different default location for OSX binary
DescriptionWe don't put our apps in the default location. We have a change to cmTarget.cxx to make this happen.

We means I finally got permission to report changes my employer made to the code base.
Additional InformationWe defines a new property:

  cm->DefineProperty
    ("MACOSX_BUNDLE_BINARY_PATH", cmProperty::TARGET,
     "If unset, the actual linked binary is assumed to be in ",
     "appname.app/Contents/MacOS/appname, if set, then ",
     "appname.app/MACOSX_BUNDLE_BINARY_PATH/appname for iOS apps ",
     "setting this to the NULL string is currently the correct thing");

In cmTarget::NormalGetLocation we added some code to over ride the default location:

  if(this->IsAppBundleOnApple())
    {
    this->Location += this->GetFullName(config, false);
    //
    // iOS binaries are not stored in contents/macos
    //
    const char* path_override = this->GetProperty( "MACOSX_BUNDLE_BINARY_PATH" );
    if( path_override == NULL )
      {
      this->Location += ".app/Contents/MacOS/";
      }
    else
      {
      this->Location += ".app/";
      this->Location += path_override;
      if( *path_override )
        {
        this->Location += "/";
        }
      }
    }
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0028524)
Brad King (manager)
2012-02-08 09:06

This looks like a useful feature. However, there are many more places than just cmTarget::NormalGetLocation that need to know about this property:

$ git grep '\<Contents\>' v2.8.7 -- Source Modules |wc -l
     57

The change will also need a test.
(0041980)
Kitware Robot (administrator)
2016-06-10 14:28

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2012-02-07 16:53 Michael Pechner New Issue
2012-02-08 09:06 Brad King Note Added: 0028524
2012-02-08 09:06 Brad King Status new => backlog
2016-06-10 14:28 Kitware Robot Note Added: 0041980
2016-06-10 14:28 Kitware Robot Status backlog => resolved
2016-06-10 14:28 Kitware Robot Resolution open => moved
2016-06-10 14:28 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:31 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team