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)
|
if(APPLE)
|
||||||
set(CMAKE_BUNDLE_VERSION
|
set(CMAKE_BUNDLE_VERSION
|
||||||
"${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
|
"${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
|
||||||
set(CMAKE_BUNDLE_NAME "CMake ${CMAKE_BUNDLE_VERSION}")
|
|
||||||
set(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
|
set(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
|
||||||
# make sure CMAKE_INSTALL_PREFIX ends in /
|
# make sure CMAKE_INSTALL_PREFIX ends in /
|
||||||
string(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
|
string(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
|
||||||
@ -494,7 +493,7 @@ if(BUILD_QtDialog)
|
|||||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
|
set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_INSTALL_PREFIX
|
set(CMAKE_INSTALL_PREFIX
|
||||||
"${CMAKE_INSTALL_PREFIX}${CMAKE_BUNDLE_NAME}.app/Contents")
|
"${CMAKE_INSTALL_PREFIX}CMake.app/Contents")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(QT_NEED_RPATH FALSE)
|
set(QT_NEED_RPATH FALSE)
|
||||||
|
@ -112,7 +112,7 @@ endif()
|
|||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set_target_properties(cmake-gui PROPERTIES
|
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_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in"
|
||||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_BUNDLE_VERSION}"
|
MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_BUNDLE_VERSION}"
|
||||||
# TBD: MACOSX_BUNDLE_BUNDLE_VERSION "${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
|
# Create a symlink in the build tree to provide a "cmake-gui" next
|
||||||
# to the "cmake" executable that refers to the application bundle.
|
# to the "cmake" executable that refers to the application bundle.
|
||||||
add_custom_command(TARGET cmake-gui POST_BUILD
|
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
|
$<TARGET_FILE_DIR:cmake>/cmake-gui
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@ -148,7 +148,7 @@ if(APPLE)
|
|||||||
"${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
|
"${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
|
||||||
configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
|
configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
|
||||||
"${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
|
"${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)")
|
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
|
||||||
endif()
|
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
|
# 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}")
|
set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/cmake-gui${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
if(APPLE)
|
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()
|
endif()
|
||||||
install(CODE "
|
install(CODE "
|
||||||
include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
|
include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/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
|
exit 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user