It is possible to create an application bundle with CMake using specific commands.
First we must specify the files containing the application icons. For example:
#--------------------------------------------------------------------------------
# For Apple set the icns file containing icons
if(APPLE)
# icon files to copy in the bundle
set( OSX_ICON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/graphics/vvv.icns ${CMAKE_CURRENT_SOURCE_DIR}/graphics/vvv-document.icns )
# set where in the bundle to put the icns files
set_source_files_properties( ${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
# include the icns files in the target
set( SRCS ${SRCS} ${OSX_ICON_FILES} )
ENDIF(APPLE)
add_executable( vvv WIN32 MACOSX_BUNDLE ${SRCS} )
This example defines two icons, one for the application and one for the application documents. The SRCS variable already contains the list of source files and this code adds the icons to the files list.
The ADD_EXECUTABLE command in the last line tells CMake to create an OS X bundle.
The following code will tell CMake where to find the Info.plist that will be copied into the bundle:
if(APPLE)
# configure CMake to use a custom Info.plist
set_target_properties( vvv PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/vvv-Info.plist )
ENDIF(APPLE)
# configure CMake to use a custom Info.plist
set_target_properties( vvv PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/vvv-Info.plist )
ENDIF(APPLE)
Using the code above CMake will be able to create an OS X application bundle.
No comments:
Post a Comment