diff options
author | Brad King <brad.king@kitware.com> | 2016-05-26 13:52:07 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-05-26 13:52:07 (GMT) |
commit | 579185be7aa0425f61e4e3672284d16787044757 (patch) | |
tree | 26c13cc73cb407160a7e515ae0673b740512cc44 | |
parent | 903bcbc39e2455e5467cf1db6ac48114f6c4bd57 (diff) | |
parent | 3acc29fca9395c7e76f0884d182da6da2e022b81 (diff) | |
download | CMake-579185be7aa0425f61e4e3672284d16787044757.zip CMake-579185be7aa0425f61e4e3672284d16787044757.tar.gz CMake-579185be7aa0425f61e4e3672284d16787044757.tar.bz2 |
Merge topic 'cpack-dmg-no-app-link'
3acc29fc CPack/DragNDrop: Optionally disable `/Applications` symlink
-rw-r--r-- | Help/release/dev/cpack-dmg-no-app-link.rst | 6 | ||||
-rw-r--r-- | Modules/CPackDMG.cmake | 5 | ||||
-rw-r--r-- | Source/CPack/cmCPackDragNDropGenerator.cxx | 15 |
3 files changed, 21 insertions, 5 deletions
diff --git a/Help/release/dev/cpack-dmg-no-app-link.rst b/Help/release/dev/cpack-dmg-no-app-link.rst new file mode 100644 index 0000000..46101a5 --- /dev/null +++ b/Help/release/dev/cpack-dmg-no-app-link.rst @@ -0,0 +1,6 @@ +cpack-dmg-no-app-link +--------------------- + +* The :module:`CPackDMG` module learned a new option to tell the CPack + ``DragNDrop`` generaor to skip the ``/Applications`` symlink. + See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. diff --git a/Modules/CPackDMG.cmake b/Modules/CPackDMG.cmake index 1959f22..929b2f6 100644 --- a/Modules/CPackDMG.cmake +++ b/Modules/CPackDMG.cmake @@ -46,6 +46,11 @@ # CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is # installed. By default no background image is set. # +# .. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK +# +# Default behaviour is to include a symlink to ``/Applications`` in the DMG. +# Set this option to ``ON`` to avoid adding the symlink. +# # .. variable:: CPACK_DMG_SLA_DIR # # Directory where license and menu files for different languages are stored. diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx index 9576eff..f4379c1 100644 --- a/Source/CPack/cmCPackDragNDropGenerator.cxx +++ b/Source/CPack/cmCPackDragNDropGenerator.cxx @@ -305,6 +305,9 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir, ? this->GetOption("CPACK_DMG_DS_STORE_SETUP_SCRIPT") : ""; + const bool cpack_dmg_disable_applications_symlink = + this->IsOn("CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK"); + // only put license on dmg if is user provided if (!cpack_license_file.empty() && cpack_license_file.find("CPack.GenericLicense.txt") != @@ -323,11 +326,13 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir, staging << src_dir; // Add a symlink to /Applications so users can drag-and-drop the bundle - // into it - std::ostringstream application_link; - application_link << staging.str() << "/Applications"; - cmSystemTools::CreateSymlink("/Applications", - application_link.str().c_str()); + // into it unless this behaviour was disabled + if (!cpack_dmg_disable_applications_symlink) { + std::ostringstream application_link; + application_link << staging.str() << "/Applications"; + cmSystemTools::CreateSymlink("/Applications", + application_link.str().c_str()); + } // Optionally add a custom volume icon ... if (!cpack_package_icon.empty()) { |