OS X: Package with DragNDrop instead of PackageMaker
Use the CPack DragNDrop generator instead of the deprecated PackageMaker tool to package CMake itself. This provides an installation experience that is more consistent with other products on OS X and allows users to select the destination directory easily. It also avoids installing "/private/var/db/receipts/com.Kitware.CMake.*" receipts that must be removed by "pkgutil --forget com.Kitware.CMake" before another version of CMake can be installed. The DragNDrop installer does not support a post-flight script, so drop our configuration of it. The cmake-gui has an option for installing symbolic links to enable command-line use. In practice users may simply add "/Applications/CMake.app/Contents/bin" to their PATH instead.
This commit is contained in:
parent
d91c0f7a3f
commit
dc3c210244
|
@ -154,14 +154,6 @@ if(UNIX)
|
|||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_POSTFLIGHT_SCRIPT
|
||||
"${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
|
||||
set(CMAKE_POSTUPGRADE_SCRIPT
|
||||
"${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
|
||||
configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
|
||||
"${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\" cmake-gui
|
||||
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
|
||||
endif()
|
||||
|
|
|
@ -9,9 +9,6 @@ if(CMAKE_PACKAGE_QTGUI)
|
|||
# / and then install
|
||||
# cmake into the bundle for cmake-gui and must use DESTDIR
|
||||
set(CPACK_SET_DESTDIR TRUE)
|
||||
# we also want to run post install stuff to setup command line
|
||||
set(CPACK_POSTFLIGHT_SCRIPT "@CMAKE_POSTFLIGHT_SCRIPT@")
|
||||
set(CPACK_POSTUPGRADE_SCRIPT "@CMAKE_POSTUPGRADE_SCRIPT@")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
"$2@CMAKE_INSTALL_SUBDIR@/CMake.app/Contents/MacOS/CMake" --mac-install
|
||||
exit 0
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
exit 0
|
|
@ -5,7 +5,7 @@ set(INSTALL_PREFIX /)
|
|||
set(HOST dashmacmini2)
|
||||
set(MAKE_PROGRAM "make")
|
||||
set(MAKE "${MAKE_PROGRAM} -j2")
|
||||
set(CPACK_BINARY_GENERATORS "PackageMaker TGZ TZ")
|
||||
set(CPACK_BINARY_GENERATORS "DragNDrop TGZ TZ")
|
||||
set(INITIAL_CACHE "
|
||||
CMAKE_BUILD_TYPE:STRING=Release
|
||||
CMAKE_OSX_ARCHITECTURES:STRING=ppc;i386
|
||||
|
|
|
@ -5,7 +5,7 @@ set(INSTALL_PREFIX /)
|
|||
set(HOST dashmacmini5)
|
||||
set(MAKE_PROGRAM "make")
|
||||
set(MAKE "${MAKE_PROGRAM} -j5")
|
||||
set(CPACK_BINARY_GENERATORS "PackageMaker TGZ TZ")
|
||||
set(CPACK_BINARY_GENERATORS "DragNDrop TGZ TZ")
|
||||
set(CPACK_SOURCE_GENERATORS "TGZ TZ")
|
||||
set(INITIAL_CACHE "
|
||||
CMAKE_USE_OPENSSL:BOOL=ON
|
||||
|
|
|
@ -99,7 +99,7 @@ foreach(gen ${generators})
|
|||
if("${gen}" STREQUAL "STGZ")
|
||||
set(SUFFIXES ${SUFFIXES} "*.sh")
|
||||
endif()
|
||||
if("${gen}" STREQUAL "PackageMaker")
|
||||
if("${gen}" STREQUAL "DragNDrop")
|
||||
set(SUFFIXES ${SUFFIXES} "*.dmg")
|
||||
endif()
|
||||
if("${gen}" STREQUAL "TBZ2")
|
||||
|
|
Loading…
Reference in New Issue