Use UTF-8 by default, as this has become common for cross-platform
archive distribution, and our previous default was platform-specific.
Also revert commit f590010167 (libarchive: Restore tolerance of archives
with non-OEM paths on Windows, 2026-01-23, v3.31.11~1^2). Its primary
purpose was to tolerate UTF-8 paths when extracting archives, which we
now handle by default.
Issue: #26903
The help text for most variables were just copy-and-pasted from the
minimal output from running `appimagetool --help`. That text lacked
considerable important detail.
The default values for most of the variables were also specified
incorrectly. They listed themselves as the default, which is wrong.
In most cases, the variables are unset by default. For those that
actually have fallback values, update them to specify that.
The CPACK_APPIMAGE_DESKTOP_FILE variable is not mandatory.
The code does provide fallback behavior when it isn't set. What is
mandatory though is that there is a .desktop file, either specified
explicitly, or found within the installed files. There is also a close
relationship with CPACK_PACKAGE_ICON that deserves explicitly
drawing attention to.
Add a new variable `CPACK_DEBIAN_COMPRESSION_LEVEL` to control the compression
level used when generating Debian packages. This complements the existing
`CPACK_DEBIAN_COMPRESSION_TYPE` variable and allows finer control over the
compression performance vs. size trade-off. Supported values correspond to
the compression level accepted by the underlying compressor (e.g. gzip, xz,
zstd, etc.).
Add `CPACK_ARCHIVE_UID` and `CPACK_ARCHIVE_GID` options.
Add a policy to change the default to 0/0 to enable ownership
by root if unpacking as root.
Fixes: #12901
By setting CPACK_WIX_CAB_PER_COMPONENT users can generate one
.cab per component instead of one .cab per installer.
WiX compresses .cab files in parallel.
This may potentially speed up installer creation.
May also allow larger installers (there is a 2GB per .cab limit).
Enable the generation of NuGet symbol package(s) with the new variable
`CPACK_NUGET_SYMBOL_PACKAGE`. CPack generates then normal nuget package
(*.nupkg) and a symbol nuget package (*.snupkg). The new generate
package contains PDB files.
Fixes: #26976
The phrase "requires string" refers to the RPM `Requires` tag, but it
had been copied from the description of `CPACK_RPM_PACKAGE_REQUIRES`
without adjusting the text.
The variable CPACK_ARCHIVE_FILE_NAME (added in 9e06e97d30)
only works if per-component packaging is enabled. This isn't obvious
from the documentation.
Make it also work for non-component packages and adjust documentation.
Fixes: #8769
d1d134534d Help: Add formatting to FindGettext and FindGnuplot
d138555959 Help: Use Title Case for all "Imported Targets" sections
bbbf3536c9 Help: Make sure all deprecated utility modules have a notice
969b039f40 Help: Reference correct variables in 3.6 release notes
9c963de998 Help: Remove stray spaces and one colon
51e4d81f16 Help: Remove accidental blockquotes around lists
718043b540 Help: Convert some literal blocks into tables and lists
914d580a4f Utilities/Sphinx: Ignore warning in generated texinfo documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10269
Indenting a list relative to the previous paragraph creates
a blockquote. Combined with the natural list indent it results
in an overly large left margin.
Covers almost all blocks containing actual code, except:
* Parsed-literal blocks can't be highlighted, including many command
summaries and substitution-heavy docs like find_... commands.
This is a Sphinx limitation.
* Code with errors, like CMP0049, DEPLOYMENT_ADDITIONAL_FILES,
DEPLOYMENT_REMOTE_DIRECTORY, @PACKAGE_INIT@ substitution in the
tutorial, bracket arguments/comments in cmake-language.7 and
cmake-developer.7.
* FindQt4 module, which needs reformatting.
Remove some edge cases where if CPACK_DEBIAN_PACKAGE_DEPENDS is a list
it would not be expanded on all components leaving some with ';'(s) in
the Depends field of the control file.
Same goes for using CPACK_DEBIAN_PACKAGE_SHLIBDEPS.
Add policy CMP0172 to set `CPACK_WIX_INSTALL_SCOPE` to `perMachine` by
default. Follow up commit 60661f6770 (CPack/WiX: Make InstallScope
configurable, 2023-11-07, v3.29.0-rc1~413^2) and commit 614100dbf6
(CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower,
2024-06-05, v3.30.0-rc1~7^2~1).
Issue: #20962
Issue: #26029