[Orxonox-commit 3449] r8135 - in code/branches/mac_osx: bin cmake data/mac src

youngk at orxonox.net youngk at orxonox.net
Sun Mar 27 21:50:18 CEST 2011


Author: youngk
Date: 2011-03-27 21:50:18 +0200 (Sun, 27 Mar 2011)
New Revision: 8135

Removed:
   code/branches/mac_osx/bin/mac/
Modified:
   code/branches/mac_osx/cmake/PrepareDevBundle.cmake
   code/branches/mac_osx/data/mac/Icon.icns
   code/branches/mac_osx/src/CMakeLists.txt
Log:
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.

Modified: code/branches/mac_osx/cmake/PrepareDevBundle.cmake
===================================================================
--- code/branches/mac_osx/cmake/PrepareDevBundle.cmake	2011-03-27 17:35:01 UTC (rev 8134)
+++ code/branches/mac_osx/cmake/PrepareDevBundle.cmake	2011-03-27 19:50:18 UTC (rev 8135)
@@ -24,10 +24,21 @@
  #
 
 IF(APPLE)
+  IF(NOT CMAKE_CONFIGURATION_TYPES)
+  SET(_subdirs .)
+  SET(_default_subdir .)
+ELSE()
+  SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
+  SET(_default_subdir) # No default subdir
+ENDIF()
+
+FOREACH(_subdir ${_subdirs})
+  GET_FILENAME_COMPONENT(CURRENT_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_subdir} ABSOLUTE)
+
   # Convenience variables
-  # Note that this is just an empty bundle! It will be copied into the
-  # corresponding directory at build time
-  SET(DEVBUNDLE_CURRENT_DIR "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/Dummy/${PROJECT_NAME}.app/Contents")
+  # Note that this is just an empty bundle! The executable itself will
+  # be added at build time
+  SET(DEVBUNDLE_CURRENT_DIR "${CURRENT_RUNTIME_DIR}/${PROJECT_NAME}.app/Contents")
   SET(DEVBUNDLE_CURRENT_BIN "${DEVBUNDLE_CURRENT_DIR}/MacOS")
   SET(DEVBUNDLE_CURRENT_RESOURCES "${DEVBUNDLE_CURRENT_DIR}/Resources")
   SET(DEVBUNDLE_DEFAULT_LANGFILE "English.lproj")
@@ -45,4 +56,6 @@
   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)
   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)
   CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings")
+
+ENDFOREACH(_subdir)
 ENDIF(APPLE)

Modified: code/branches/mac_osx/data/mac/Icon.icns
===================================================================
(Binary files differ)

Modified: code/branches/mac_osx/src/CMakeLists.txt
===================================================================
--- code/branches/mac_osx/src/CMakeLists.txt	2011-03-27 17:35:01 UTC (rev 8134)
+++ code/branches/mac_osx/src/CMakeLists.txt	2011-03-27 19:50:18 UTC (rev 8135)
@@ -183,14 +183,12 @@
   ADD_CUSTOM_COMMAND(
     TARGET orxonox-main
     POST_BUILD 
-    # Copy the Orxonox.app from the dummy location to the correct one
-    COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/Dummy/${PROJECT_NAME}.app" "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app"
     # Copy the executable into the Orxonox.app
-    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${ORXONOX_EXECUTABLE_NAME}" "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
+    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${ORXONOX_EXECUTABLE_NAME}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
     # Copy the dev-build marker file to Orxonox.app
-    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/orxonox_dev_build.keep_me" "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
-    # Create a shortcut of the application to the Desktop
-    COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_BINARY_DIR}/${DEFAULT_BUNDLE_PATH}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app" "$ENV{HOME}/Desktop/${PROJECT_NAME}.app"
+    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/orxonox_dev_build.keep_me" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
+    # Create a shortcut of the application to the root of the build tree
+    COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app" "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app" 
   ) 
 ENDIF(APPLE)
 




More information about the Orxonox-commit mailing list