Commit Graph

25 Commits

Author SHA1 Message Date
Joerg Bornemann
f8c505d4b3 Add a parser for GCC-style depfiles
Introduce the function cmReadGccDepfile that parses a GCC-style depfile
and returns its content. The implementation uses a lexer that is
modeled after the re2c implementation in Ninja.

The sample files of the autotest have been created with gcc 8.3.0.

This depfile reader is to be used by the Autogen facility to make use
of the depfiles that are generated by Qt's meta object compiler.
2020-01-28 11:16:11 -05:00
Brad King
1edc4a8a7e Copyright.txt: Update year range to end in 2020 2019-12-18 09:34:55 -05:00
Brad King
64819cca91 Copyright.txt: Update year range to end in 2019 2018-12-18 08:15:03 -05:00
Michael Hirsch, Ph.D
170bcb6fdc FindOctave: Add module to find GNU octave 2018-12-06 14:16:44 -05:00
Frederik Gladhorn
84e7920b3a FindFontconfig: Add module to find Fontconfig
This module is inspired by one from KDE's KWin.
2018-10-18 20:32:09 +02:00
Frederik Gladhorn
f76047f34a FindLibinput: Add module to find libinput
This module is inspired by one from KDE's KWin.
2018-10-11 10:43:45 -04:00
Patrick Stotko
c9349cc1b9 target_link_libraries: Allow use with targets in other directories
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
2018-05-15 10:22:35 -04:00
Brad King
20eef60869 Copyright.txt: Update year range to end in 2018 2017-12-20 13:19:31 -05:00
Tom Fogal
e2e8a690cd FindOpenGL: Add support for GLVND on Linux
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.
2017-09-25 09:22:29 -04:00
Brad King
932ba44f07 Merge topic 'csharp_fix_initial_flags'
a3388900 VS: Initialize CSharp flags consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1232
2017-09-06 10:46:11 -04:00
Michael Stürmer
a3388900f8 VS: Initialize CSharp flags consistently
Use the same environment variable for the initial flags that we
use for the compiler id.

Fixes: #17250
2017-09-05 09:58:43 -04:00
Adriaan de Groot
2042cae9a5 CPack-FreeBSD: add a generator for FreeBSD pkg(8)
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.
2017-06-10 07:53:59 -04:00
Alexey Sokolov
b8968b4b39 UseSWIG: Automatically scan dependencies of SWIG files for Makefiles
Issue: #4147
2017-01-10 13:05:59 -05:00
Brad King
40e5614923 Copyright.txt: Update year range to end in 2017 2016-12-15 15:51:59 -05:00
Brad King
7feb4eccec Copyright.txt: Add notice of copyright by contributors
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.
2016-09-27 15:04:28 -04:00
Brad King
9647b32f85 Copyright.txt: Update year range to end in 2016 2015-12-31 19:15:34 -05:00
Brad King
f881c6bafa Copyright.txt: Update year range to end in 2015 2014-12-31 21:09:37 -05:00
Brad King
f2ec464fe0 Copyright.txt: Update year range to end in 2014 2014-01-02 14:11:55 -05:00
Brad King
3ee67d0df9 Copyright.txt: Update year range to end in 2013 2013-11-12 16:35:26 -05:00
Brad King
993b685676 bootstrap: Parse Copyright.txt instead of duplicating notice
Use 'grep' to extract the copyright notice from Copyright.txt instead of
duplicating it in the bootstrap script.
2013-11-12 16:22:52 -05:00
Brad King
ac39e9c765 Update main Copyright.txt year range for 2011 2011-11-10 07:56:31 -05:00
Brad King
96afb12087 Convert CMake to OSI-approved BSD License
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.
2009-09-28 11:43:28 -04:00
Andy Cedilnik
9102d547ad ENH: Acknowledge NAMIC 2006-04-29 20:03:33 -04:00
Brad King
f3a656e391 ENH: Updated copyright. 2002-08-08 15:14:59 -04:00
Will Schroeder
0cacb7123d ENH:Formal copyright notice 2002-01-21 15:11:58 -05:00