Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/environment/cmake/PrepareDevBundle.cmake @ 8644

Last change on this file since 8644 was 8135, checked in by youngk, 14 years ago

Generalized and cleaned up the creation of the Apple Dev Bundle. No more desktop icon now, but you still can\'t start it via Xcode. You\'ll have to use the symlink in the project build directory root instead.

File size: 3.1 KB
Line 
1 #
2 #             ORXONOX - the hottest 3D action shooter ever to exist
3 #                             > www.orxonox.net <
4 #
5 #        This program is free software; you can redistribute it and/or
6 #         modify it under the terms of the GNU General Public License
7 #        as published by the Free Software Foundation; either version 2
8 #            of the License, or (at your option) any later version.
9 #
10 #       This program is distributed in the hope that it will be useful,
11 #        but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #                 GNU General Public License for more details.
14 #
15 #   You should have received a copy of the GNU General Public License along
16 #      with this program; if not, write to the Free Software Foundation,
17 #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 #
19 #
20 #  Author:
21 #    Kevin Young
22 #  Description:
23 #    Creates the file structure for the development application bundle
24 #
25
26IF(APPLE)
27  IF(NOT CMAKE_CONFIGURATION_TYPES)
28  SET(_subdirs .)
29  SET(_default_subdir .)
30ELSE()
31  SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
32  SET(_default_subdir) # No default subdir
33ENDIF()
34
35FOREACH(_subdir ${_subdirs})
36  GET_FILENAME_COMPONENT(CURRENT_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_subdir} ABSOLUTE)
37
38  # Convenience variables
39  # Note that this is just an empty bundle! The executable itself will
40  # be added at build time
41  SET(DEVBUNDLE_CURRENT_DIR "${CURRENT_RUNTIME_DIR}/${PROJECT_NAME}.app/Contents")
42  SET(DEVBUNDLE_CURRENT_BIN "${DEVBUNDLE_CURRENT_DIR}/MacOS")
43  SET(DEVBUNDLE_CURRENT_RESOURCES "${DEVBUNDLE_CURRENT_DIR}/Resources")
44  SET(DEVBUNDLE_DEFAULT_LANGFILE "English.lproj")
45  SET(DEVBUNDLE_NIB_FILE "MainMenu.nib")
46
47  # Create bundle folder structure
48  FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_DIR}")
49  FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_BIN}")
50  FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_RESOURCES}")
51  FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}")
52 
53  # Populate with Info.plist, NIB-file and the Icon.icns
54  CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/Orxonox-Info.plist" "${DEVBUNDLE_CURRENT_DIR}/Info.plist")
55  CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/Icon.icns" "${DEVBUNDLE_CURRENT_RESOURCES}/Icon.icns" COPYONLY)
56  CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}/designable.nib" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}/designable.nib" COPYONLY)
57  CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}/keyedobjects.nib" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}/keyedobjects.nib" COPYONLY)
58  CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings")
59
60ENDFOREACH(_subdir)
61ENDIF(APPLE)
Note: See TracBrowser for help on using the repository browser.