[CMake] MACOSX_PACKAGE_LOCATION usage
JD Smith
jdsmith at as.arizona.edu
Mon Jun 25 12:41:20 EDT 2007
I've just started with CMake (what a fantastic breath of fresh air
after auto{conf,make} hell!). I've been attempting to build a MACOSX
application bundle using the MACOSX_PACKAGE_LOCATION with a recent
CVS CMake build (which I can report correctly elides -isystem, which
prevents building with templates on OSX in the release version 2.4.6).
Unfortunately, I can't seem to get the indicated file(s) to copy to
the Resources/ directory within the bundle. Here's an example of how
I'm using it:
IF( APPLE )
ADD_EXECUTABLE( ${PROGNAME} MACOSX_BUNDLE ${hugin_SOURCES})
SET_SOURCE_FILES_PROPERTIES(
"${CMAKE_CURRENT_SOURCE_DIR}/${MACOSX_BUNDLE_ICON_FILE}"
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
...
Does the ICON_FILE need some sort of dependency created to actually
engage whatever code lies behind MACOSX_PACKAGE_LOCATION? Here's
another way I'm trying (and failing) to use this property:
IF( APPLE )
SET_SOURCE_FILES_PROPERTIES(
${_out}
PROPERTIES
MACOSX_CONTENT 1
MACOSX_PACKAGE_LOCATION
"Resources/locale/${_file_we}/LC_MESSAGE/${_baseName}.mo"
)
Can the PACKAGE_LOCATION be a specific filename like this, if it
applies to only one file? If not, how else would you suggest
renaming the file as it is moved automatically into location within
Resources/? Does MACOSX_CONTENT do anything?
One more issue relates to Info.plist. Is there a way to include
DocumentTypes stanzas like:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>pto</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>HuginFiles.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/x-ptoptimizer-
script</string>
</array>
<key>CFBundleTypeName</key>
<string>Hugin Project</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSTypeIsPackage</key>
<false/>
</dict>
</array>
This type of Info.plist stanza is useful for associating file types
with the application (and indicating a file icon as well).
Thanks very much,
JD Smith
More information about the CMake
mailing list