Browse Source

OS X: Drop version number from CMake.app bundle name (#11693)

Always name the application bundle "CMake.app".  Users can rename it
after installation if they wish.  This is the typical approach used by
OS X applications, including Xcode.  It allows CMake to be upgraded
without manually re-running CMake in every build tree to update the path
to CMake.  It also makes the executable location in the CMake build tree
more predicatable.
Brad King 12 years ago
parent
commit
06b0dbe061
3 changed files with 6 additions and 7 deletions
  1. 1 2
      CMakeLists.txt
  2. 4 4
      Source/QtDialog/CMakeLists.txt
  3. 1 1
      Source/QtDialog/postflight.sh.in

+ 1 - 2
CMakeLists.txt

@@ -484,7 +484,6 @@ if(BUILD_QtDialog)
   if(APPLE)
     set(CMAKE_BUNDLE_VERSION
       "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
-    set(CMAKE_BUNDLE_NAME "CMake ${CMAKE_BUNDLE_VERSION}")
     set(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
     # make sure CMAKE_INSTALL_PREFIX ends in /
     string(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
@@ -494,7 +493,7 @@ if(BUILD_QtDialog)
       set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
     endif()
     set(CMAKE_INSTALL_PREFIX
-      "${CMAKE_INSTALL_PREFIX}${CMAKE_BUNDLE_NAME}.app/Contents")
+      "${CMAKE_INSTALL_PREFIX}CMake.app/Contents")
   endif()
 
   set(QT_NEED_RPATH FALSE)

+ 4 - 4
Source/QtDialog/CMakeLists.txt

@@ -112,7 +112,7 @@ endif()
 
 if(APPLE)
   set_target_properties(cmake-gui PROPERTIES
-    OUTPUT_NAME ${CMAKE_BUNDLE_NAME}
+    OUTPUT_NAME CMake
     MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in"
     MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_BUNDLE_VERSION}"
     # TBD: MACOSX_BUNDLE_BUNDLE_VERSION "${CMAKE_BUNDLE_VERSION}"
@@ -122,7 +122,7 @@ if(APPLE)
   # Create a symlink in the build tree to provide a "cmake-gui" next
   # to the "cmake" executable that refers to the application bundle.
   add_custom_command(TARGET cmake-gui POST_BUILD
-    COMMAND ln -sf ${CMAKE_BUNDLE_NAME}.app/Contents/MacOS/${CMAKE_BUNDLE_NAME}
+    COMMAND ln -sf CMake.app/Contents/MacOS/CMake
                    $<TARGET_FILE_DIR:cmake>/cmake-gui
     )
 endif()
@@ -148,7 +148,7 @@ if(APPLE)
     "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
   configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
     "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
-  install(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
+  install(CODE "execute_process(COMMAND ln -s \"../MacOS/CMake\" cmake-gui
                 WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
 endif()
 
@@ -157,7 +157,7 @@ if(APPLE OR WIN32)
   # if a system Qt is used (e.g. installed in /usr/lib/), it will not be included in the installation
   set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/cmake-gui${CMAKE_EXECUTABLE_SUFFIX}")
   if(APPLE)
-    set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}")
+    set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/CMake")
   endif()
   install(CODE "
     include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")

+ 1 - 1
Source/QtDialog/postflight.sh.in

@@ -1,3 +1,3 @@
 #!/bin/bash
-"$2@CMAKE_INSTALL_SUBDIR@/@[email protected]/Contents/MacOS/@CMAKE_BUNDLE_NAME@" --mac-install
+"$2@CMAKE_INSTALL_SUBDIR@/CMake.app/Contents/MacOS/CMake" --mac-install
 exit 0