When running `hdiutil create`, specify the HFS+ filesystem explicitly.
Otherwise `hdiutil` may choose a filesystem based on the host. We do
not want to create APFS images for `.dmg` packages because they may not
mount on macOS versions prior to 10.12.
77f674be Fix some occurrences of readability-braces-around-statements
f0bab294 Convert some leftover loops to C++11 range-based loop
b5d7f5b0 Fix occurrences of readability-non-const-parameter
9a2da339 Fix some occurrences of readability-avoid-const-params-in-decls
870dd06d Fix left-over occurrences of else-after-return
2033abff Fix minor clang-tidy findings
79b8c380 Improve several occurrences of vector::push_back in loops
a45928cd Fix some occurrences of missing override keywords
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1292
Fix issues diagnosed by clang-tidy [readability-else-after-return]
These were mostly only showing up on OSX.
Signed-off-by: Matthias Maennich <matthias@maennich.net>
The `CPackIFW` module `cpack_ifw_configure_component` and
`cpack_ifw_configure_component_group` commands gained a new
`REPLACES` and `CHECKABLE` options.
Different CPack generators could produce checksum files with the same
name which were overwritten by each other since only package name
without extensions was used for checksum file name generation. This
patch adds package extension to checksum files to prevent collisions.
Fixes: #16840
Fix remaining occurrences of the issue addressed in commit 5962db4389
(Use C++11 nullptr, 2017-08-22) that are only showing up on macOS.
Signed-off-by: Matthias Maennich <matthias@maennich.net>
We now require C++11 support including `override`. Drop use of
the old compatibility macro. Convert references as follows:
git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' |
xargs sed -i 's/CM_OVERRIDE/override/g'
Get the mount name from mount point path returned by hdiutil instead of
assuming it is the volume name. They can be different in case of
conflict with an already-mounted volume.
While some features require external Unix tools the
generator is mostly portable.
By enabling it on Windows it can be used for cross platform
packaging.
Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
headers and library are found (which they will be, by default,
on any FreeBSD system), then add a FreeBSD pkg(8) generator.
The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
variables for filling in the metadata; the Debian generator does
something similar. Documentation for the CPack CMake-script is styled
after the Debian generator.
Implementation notes:
- Checks for libpkg -- the underlying implementation for pkg(8) --
and includes FreeBSD package-generation if building CMake on
a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
this potentially adds one more packaging format. In practice,
this will only happen on FreeBSD and DragonflyBSD.
- Copy-paste from cmCPackArchiveGenerator to special-case
the metadata generation and to run around the internal
archive generation: use libpkg instead.
- Generating the metadata files is a little contrived.
- Most of the validation logic for package settings is in
CPackFreeBSD.cmake, as well as the code that tries to re-use
packaging settings that may already be set up for Debian.
- libpkg has its own notion of output filename, so we have
another contrived bit of code that munges the output file
list so that CPack can find the output.
- Stick with C++98.
Non component package generation was recursing through
symlinks while monolithic package generation did not.
This was causing component archive packages to contain
both symlink and a directory with the same name on the
same level if symlink contained files which caused errors
during extraction of such packages.
Closes#16051
Changes:
- DISPLAY_NAME and DESCRIPTION in CPackIFW module now is MULTI_ARGS;
- Added internationalization support for DisplayName and Description
properties in cmCPackIFWPackage class;
- Added documentation to CPackIFW module;
- Added release note.