| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Missing or missconfigured file utility should not
skip adding dependencies. Instead it should print
out a fatal error message.
Fixes #16486
|
|
|
|
|
|
| |
`CPACK_DEB_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging. `CPACK_DEB_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool. Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience. Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.
Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices. It also references version control
history for more precise information. Therefore we no longer need to spell
out the list of Contributors in each source file notice.
Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing". The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.
Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically. Manually fix up shebang lines and trailing
newlines in a few files. Manually update the notices in a few files that the
script does not handle.
|
|
|
|
|
| |
This reverts commit 332b089ad213a1aa89658fffd8f68c9064c6d3db as multiline
descriptions require special formatting.
|
|
|
|
|
|
|
|
|
| |
Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence
match CPackRPM behavior as much as possible. This is technically a
breaking change, but the new behavior is more consistent with
expectation anyway.
Closes: #16272
|
|
|
|
|
|
|
| |
Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an
archive type that supports long file names.
Closes: #14332
|
| |
|
|\
| |
| |
| |
| | |
adbd3985 CPack/Deb possibility to change package name
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch preserves backward compatibility of
deb package names with previous CMake versions
but similarly to CPack/RPM allows to change
package name format and supports DEB-DEFAULT
setting that produces proper Debian package names.
|
|/
|
|
|
|
|
|
|
|
| |
Prevent accidental inter component dependency setting
since this is a breaking feature in situations where
another CPack module is already using the feature.
It should be enabled if desired since it can cause
issues when upgrading only one of the components
for e.g. configuration instead of all the components
at once.
|
|
|
|
|
|
| |
Debian packages file naming format must contain
revision number - package release number
(breaks compatibility with previous versions)
|
|
|
|
|
| |
Proper Debian packages file naming for single package
setup (breaks compatibility with previous versions)
|
|
|
|
|
|
| |
Allowed to set per-compoment Debian package architecture.
Useful, if you distribute documentation (should have
"all architecture").
|
|
|
|
|
| |
In multi-component setup dependencies
between packages are set (breaking change)
|
|
|
|
|
| |
Proper Debian packages file naming for multi-component setup
(breaks compatibility with previous versions)
|
|
|
|
|
|
| |
DEBIAN/postinst and DEBAIN/postrm files generation if
the package installs libraries in ldconfig controlled
location (/lib/, /usr/lib/)
|
|
|
|
|
| |
DEBIAN/shlibs control file generation if the package
contains libraries
|
|
|
|
|
|
|
| |
If CMAKE_INSTALL_RPATH is set and contains $ORIGIN then
dpkg-shlibdeps searches for the DEBIAN directory in order
to resolve $ORIGIN in the rpath to a directory. We need to
create the DEBIAN directory for this to work.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The latter is now the preferred URL for visiting cmake.org with a
browser. Convert using the shell code:
git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
|
| |
|
| |
|
|
|
|
|
| |
Component version of CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
variable.
|
|
|
|
|
| |
We compute _local_component_name the first time we check for
CPACK_DEB_PACKAGE_COMPONENT so we can just re-use it later.
|
|
|
|
|
|
| |
Check for this flag explicitly in the --help output before using it. It
turns out there are some versions of the tool that support --version but
not --ignore-missing-info.
|
|
|
|
|
| |
Use if(MATCHES) to verify that a match exists before using the match
group variable.
|
| |
|
|
|
|
| |
Dependencies may now be set per component
|
|
|
|
| |
Dependency auto-discovery can now be set per component
|
|
|
|
|
| |
Support for setting different description
for each component.
|
|
|
|
|
|
|
|
| |
Preparation for per component variables.
Patch makes sure we know which variables
will be set for per component generator
and also prevents accidental overflows
of variable values between components.
|
|
|
|
| |
The version message is localized and may not match when a non-english locale is in use.
|
|
|
|
| |
The simple replacement is much faster.
|
|
|
|
|
|
| |
Add a CPACK_DEBIAN_COMPRESSION_TYPE option to set the compression type.
Default to 'gzip' to preserve existing behavior. Use "cmake -E tar"
for 'gzip', 'bzip2', and 'none'. Use system "tar" for 'lzma' and 'xz'.
|
|
|
|
|
|
|
| |
Drop #end and #module. Convert #section to a subsection header.
Convert #variable to the cmake domain "variable" directive.
Convert #macro to the cmake domain "command" directive.
Perform minor formatting fixes in text near these changes.
|
|
|
|
|
|
|
|
| |
Run the convert-help.bash script to convert documentation:
./convert-help.bash "/path/to/CMake-build/bin"
Then remove it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block. This is no longer the preferred style.
Run the following shell code:
for c in else endif endforeach endfunction endmacro endwhile; do
echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code:
cmake --help-command-list |
grep -v "cmake version" |
while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
|
|
|
| |
Inspired-By: Doug Linden <linderd@iinet.net.au>
|
|
|
|
| |
Modify CPackDeb and CPackRPM as an example
|
|
|
|
|
|
|
|
| |
CPack help will be searched in any CPack*.cmake file located
near to CPack.cmake file. The script files is parsed iff
the first line begin with ##section. Moreover the documentation
section name is specified on the remaining part of the line
minus the space immediately following ##section.
|