Previously the command did not allow naming targets on the LHS that
were not created in the calling directory. Lift this restriction to
enable more flexible use by projects.
Fixes: #17943
Code extracted from:
https://gitlab.kitware.com/utils/kwiml.git
at commit 9c2d6caecd (master).
Upstream Shortlog
-----------------
Brad King (5):
fc9d607a Use static_cast when compiling as C++
ea9336bc Update copyright year
7db8b884 Suppress MSVC static_cast warnings in verification and test code
340af24d Update copyright year
9c2d6cae Fix compilation on Borland C++ 5.8
Richard W.M. Jones (1):
6fc81d88 abi.h: Update RISC-V support for revised macro names
Find GLVND components if available. Add `GLX` and `EGL` options for
COMPONENTS that allow requesting these libraries explicitly. Introduce
new import targets for these windowing-system-specific libraries.
On a GLVND system, populate the legacy `OPENGL_LIBRARIES` variable and
the `OpenGL::GL` target using the `OpenGL` and `GLX` components. On
non-GLVND systems, continue to use the legacy `GL` library and simply do
not provide the GLVND components. Application code can choose to adapt
based on the availability of GLVND components as imported targets.
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.
Code extracted from:
http://public.kitware.com/KWSys.git
at commit 18c654114d (master).
Upstream Shortlog
-----------------
Brad King (14):
37306a1c FStream: Quiet unused argument warning
15e90a3c Sort includes to stabilize include order w.r.t. clang-format
26509227 Copyright.txt: Add notice of copyright by contributors
fc42d3f2 Add temporary script to filter license notices
c41c1bc4 Simplify KWSys per-source license notices
1d4c0b4a Remove temporary script that filtered license notices
a4f5ef79 SystemInformation: Remove stray comment
8649a886 kwsysPrivate: Protect KWSYS_HEADER macro from clang-format
89b98af5 Configure clang-format for KWSys source tree
547dacad Add a script to run clang-format on the entire source tree
aa94be0c CONTRIBUTING: Add a section on coding style
6604c4b6 Empty commit at end of history preceding clang-format style transition
2b3e2b1c Tell Git to not export 'clang-format' infrastructure
18c65411 FStream: Include Configure.hxx before other headers
Kitware Robot (1):
6c973b46 Revise C++ coding style using clang-format
We do not require copyright assignment for contributions to CMake.
Update the top-level notice to mention "Contributors" explicitly.
Add a list of the Contributors whose names already appear in
source-level copyright notices. Find the list with the command:
$ git grep -h 'Copyright[^.]' -- *.* \
Auxiliary Modules Packaging Source Templates Tests \
| grep -v Kitware | sed 's/^#\? *//' | sort | uniq
Manually refine the list to de-duplicate entries and filter out
notices from third-party code.
Code extracted from:
https://gitlab.kitware.com/utils/kwiml.git
at commit d564b3c71a (master).
Upstream Shortlog
-----------------
Brad King (1):
d564b3c7 Update copyright year
Richard W.M. Jones (1):
12f000d5 abi.h: Add RISC-V, a little-endian architecture.
Extract upstream KWSys using the following shell code.
$ sha1=719638e233b560afb0d9a0afdcf23469dc1827fe &&
git archive --prefix=KWSys-snapshot/ $sha1 |
tar x
Provides header files that use preprocessor tests to detect and provide
information about the compiler and its target architecture. The headers
contain no configuration-time test results and thus may be installed
into an architecture-independent include directory. This makes them
suitable for use in the public interface of any package.
This converts the CMake license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the CMake copyright to
cover the full development time range.