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.
Our CI setup has per-project runner setups, so they are now providing
the port configuration. The main goal is to have Rosetta caches separate
from the native caches on macOS, but removing this removes a bit of
coupling to Kitware's CI setup.
Avoid using `filesystem::path` to hold the output path. It performs
encoding conversions that violate our internal UTF-8 encoding.
Fixes: #27471
Issue: #27472
In commit 99d09ec45a (VS: Suppress MSBuild default link flags not
specified by project or user, 2025-06-17, v4.1.0-rc1~6^2) we removed our
default `-subsystem:...` link flag from `SHARED` and `MODULE` libraries
in Visual Studio generators for consistency with command-line generators.
However, unlike other flag suppressions for #27004, this change did not
just suppress MSBuild defaults, but actually changed flags the generator
was previously adding itself.
For the linker subsystem flag, consistency across generators should
perhaps achieved by adding the flag in other generators instead of
removing it from Visual Studio generators. Restore the previous
behavior pending further investigation.
Issue: #27466Fixes: #27464
In commit 99d09ec45a (VS: Suppress MSBuild default link flags not
specified by project or user, 2025-06-17, v4.1.0-rc1~6^2) we removed our
default `-subsystem:...` link flag from `SHARED` and `MODULE` libraries
in Visual Studio generators for consistency with command-line generators.
However, unlike other flag suppressions for #27004, this change did not
just suppress MSBuild defaults, but actually changed flags the generator
was previously adding itself.
For the linker subsystem flag, consistency across generators should
perhaps achieved by adding the flag in other generators instead of
removing it from Visual Studio generators. Restore the previous
behavior pending further investigation.
Issue: #27466Fixes: #27464
Document link flags suppressed by commit 99d09ec45a (VS: Suppress
MSBuild default link flags not specified by project or user, 2025-06-17,
v4.1.0-rc1~6^2). Leave out `-subsystem` because that's being reverted
by another commit.
Issue: #27004
Issue: #27464
cea7f7fc32 Linux: Do not force 64-bit `time_t` on 32-bit archs with system libarchive
16cc3e25d4 Utilities: Select bundled or external dependencies very early
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11505
cea7f7fc32 Linux: Do not force 64-bit `time_t` on 32-bit archs with system libarchive
16cc3e25d4 Utilities: Select bundled or external dependencies very early
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11505
Commit 1b9e8f833f (Linux: Compile with 64-bit time_t even on 32-bit
architectures, 2025-06-26, v4.1.0-rc2~16^2) broke running with a
system-provided libarchive that uses a 32-bit `time_t`. If CMake
is configured to build with a system libarchive, assume the user
has taken responsibility to match `time_t` sizes.
Fixes: #27448
In commit e419429616 (StdIo: Restore Windows Console I/O modes on
Ctrl-C, 2025-11-26, v4.1.4~4^2) we relied on the compiler to generate a
lambda with an `operator()` for each calling convention. MSVC does
this, but the GNU compiler for MinGW does not seem to.
Allow Windows users who aren't familiar with MSVC-equivalent commands to
GCC and/or don't have the GNU toolchain installed (via MinGW, etc.) to
practice this example.
Exclude infrastructure added by commit 61743471d9 (ast-grep: add a rule
to find adjacent string literals in cmStrCat calls, 2025-05-15,
v4.1.0-rc1~122^2~3).