[CMake] Re: [vtkusers] vtkDICOMImageReader problem

Bill Hoffman bill.hoffman at kitware.com
Fri Feb 15 20:03:09 EST 2008


Sean McBride wrote:
> On 2/15/08 7:38 PM, Bill Hoffman said:
> 
>> I am not sure what a .nib file is.
> 
> It's a kind of resource.  Usually it contains windows and buttons and
> the like.  See:
> <http://developer.apple.com/documentation/CoreFoundation/Conceptual/
> CFBundles/Concepts/BundleAnatomy.html#//apple_ref/doc/uid/20001119-BAJFIBAJ>
> 
> for examples of things that can go in Mac OS bundles.  Nibs go in /
> Resources, or in language-specific subfolders there of.
> 
>> See http://www.cmake.org/HTML/Documentation.html
>> ADD_EXECUTABLE: Add an executable to the project using the specified 
>> source files.
>>
>>   ADD_EXECUTABLE(exename [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL]
>>                  source1 source2 ... sourceN)
>>
>> MACOSX_BUNDLE indicates that when build on Mac OSX, executable should be 
>> in the bundle form.
>>
>> The MACOSX_BUNDLE also allows several variables to be specified:
>>
>>   MACOSX_BUNDLE_INFO_STRING
>>   MACOSX_BUNDLE_ICON_FILE
>>   MACOSX_BUNDLE_GUI_IDENTIFIER
>>   MACOSX_BUNDLE_LONG_VERSION_STRING
>>   MACOSX_BUNDLE_BUNDLE_NAME
>>   MACOSX_BUNDLE_SHORT_VERSION_STRING
>>   MACOSX_BUNDLE_BUNDLE_VERSION
>>   MACOSX_BUNDLE_COPYRIGHT
>>
>> It configures a those variables into this file:
>> Modules/MacOSXBundleInfo.plist.in
>>
>> Then that file gets made part of the bundle.
> 
> Yes, and this is great.  However, the MACOSX_BUNDLE_* properties are but
> a subset of things that can go into an Info.plist file.  For a longer
> list, see:
> <http://developer.apple.com/documentation/MacOSX/Conceptual/
> BPRuntimeConfig/Articles/PListKeys.html>
> 
> Is CMake able to take a pre-existing Info.plist file and place it the bundle?
> 
Sure can...

   std::string f1 =
       this->Makefile->GetModulesFile("MacOSXBundleInfo.plist.in");

So, if you put a MacOSXBundleInfo.plist.in file in your project then set 
CMAKE_MODULE_PATH it will pick that one up instead of the one in the 
CMake Modules directory.

-Bill



More information about the CMake mailing list