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.
This commit is contained in:
parent
84af42b989
commit
06b0dbe061
|
@ -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)
|
||||
|
|
|
@ -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,3 +1,3 @@
|
|||
#!/bin/bash
|
||||
"$2@CMAKE_INSTALL_SUBDIR@/@CMAKE_BUNDLE_NAME@.app/Contents/MacOS/@CMAKE_BUNDLE_NAME@" --mac-install
|
||||
"$2@CMAKE_INSTALL_SUBDIR@/CMake.app/Contents/MacOS/CMake" --mac-install
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue