From dc3c210244d93a4828423a336cf8032ab1300fe8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 8 May 2014 13:38:33 -0400 Subject: [PATCH] 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. --- Source/QtDialog/CMakeLists.txt | 8 -------- Source/QtDialog/QtDialogCPack.cmake.in | 3 --- Source/QtDialog/postflight.sh.in | 3 --- Source/QtDialog/postupgrade.sh.in | 2 -- Utilities/Release/dashmacmini2_release.cmake | 2 +- Utilities/Release/dashmacmini5_release.cmake | 2 +- Utilities/Release/release_cmake.cmake | 2 +- 7 files changed, 3 insertions(+), 19 deletions(-) delete mode 100755 Source/QtDialog/postflight.sh.in delete mode 100755 Source/QtDialog/postupgrade.sh.in diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt index 7885a0cdbe..8da88c1ca4 100644 --- a/Source/QtDialog/CMakeLists.txt +++ b/Source/QtDialog/CMakeLists.txt @@ -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() diff --git a/Source/QtDialog/QtDialogCPack.cmake.in b/Source/QtDialog/QtDialogCPack.cmake.in index 3196471d7c..7ae8605481 100644 --- a/Source/QtDialog/QtDialogCPack.cmake.in +++ b/Source/QtDialog/QtDialogCPack.cmake.in @@ -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() diff --git a/Source/QtDialog/postflight.sh.in b/Source/QtDialog/postflight.sh.in deleted file mode 100755 index 0b968898e6..0000000000 --- a/Source/QtDialog/postflight.sh.in +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -"$2@CMAKE_INSTALL_SUBDIR@/CMake.app/Contents/MacOS/CMake" --mac-install -exit 0 diff --git a/Source/QtDialog/postupgrade.sh.in b/Source/QtDialog/postupgrade.sh.in deleted file mode 100755 index 06bd986563..0000000000 --- a/Source/QtDialog/postupgrade.sh.in +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -exit 0 diff --git a/Utilities/Release/dashmacmini2_release.cmake b/Utilities/Release/dashmacmini2_release.cmake index 89c99bc542..6a27119f92 100644 --- a/Utilities/Release/dashmacmini2_release.cmake +++ b/Utilities/Release/dashmacmini2_release.cmake @@ -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 diff --git a/Utilities/Release/dashmacmini5_release.cmake b/Utilities/Release/dashmacmini5_release.cmake index f777718667..16a30b3b6c 100644 --- a/Utilities/Release/dashmacmini5_release.cmake +++ b/Utilities/Release/dashmacmini5_release.cmake @@ -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 diff --git a/Utilities/Release/release_cmake.cmake b/Utilities/Release/release_cmake.cmake index 7a1652d787..4c4dd8a5b0 100644 --- a/Utilities/Release/release_cmake.cmake +++ b/Utilities/Release/release_cmake.cmake @@ -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")