Commit Graph

1072 Commits

Author SHA1 Message Date
Brad King 86578eccf2 Simplify CMake per-source license notices
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.
2016-09-27 15:14:44 -04:00
Brad King b7180cfee5 Utilities/Scripts: Add temporary script to filter license notices
Add a script to replace our previous per-source license notices with a
much simpler notice.  This will be used in a following commit and then
removed.
2016-09-27 15:04:28 -04:00
Brad King 78f77f6038 Utilities/KWStyle: Remove unused header check reference file
We do not actually run a check for this.
2016-09-27 15:04:28 -04:00
Brad King 009bb0139d Merge topic 'binaries-as-c++14'
0310cb10 Utilities/Release: Build Linux and OS X binaries as C++14
2016-09-19 08:55:01 -04:00
Brad King ea23db00f4 Utilities/Release: Suppress KWSys ConsoleBuf test on Windows binaries
The test fails spuriously too often.  Additional work on the test
will be needed to make it more reliable.  For now just skip the
test when building nightly binaries so they can complete.
2016-09-19 08:40:10 -04:00
Brad King 0310cb1094 Utilities/Release: Build Linux and OS X binaries as C++14
The toolchains we use to build on these platforms support it.
2016-09-16 12:52:13 -04:00
Brad King ae783c9ba9 Require CMake 2.8.12.2 to build CMake itself
This will enable use of features such as ALIAS targets within CMake's
own build.
2016-09-15 09:24:25 -04:00
Brad King a3aaf0a181 Merge topic 'drop-cygwin-binary'
db915a37 Utilities/Release: Drop Cygwin binary
2016-09-12 09:31:39 -04:00
Brad King 71a70c0e6c Merge topic 'libuv-link-kvm'
c6d83a15 libuv: Link with kvm on NetBSD and OpenBSD
6a497bb0 libuv: Link with kvm on FreeBSD
2016-09-12 09:31:29 -04:00
Brad King db915a3785 Utilities/Release: Drop Cygwin binary
Cygwin has packaged CMake independently of upstream for a long time.
See its [cygport](https://github.com/cygwinports/cmake).
2016-09-12 09:22:50 -04:00
Brad King c6d83a15d8 libuv: Link with kvm on NetBSD and OpenBSD
We include the `kvm.h` header on these platforms and call kvm APIs.
Link with the library to ensure they are available.
2016-09-09 11:11:40 -04:00
Roger Leigh 6a497bb0a3 libuv: Link with kvm on FreeBSD
Add it unconditionally.  It is present in FreeBSD 11, 10 and 9.
2016-09-09 11:07:46 -04:00
Brad King f2c98e125f Merge branch 'upstream-KWIML' into update-kwiml
* upstream-KWIML:
  KWIML 2016-09-08 (d564b3c7)

Closes: #16290
2016-09-08 09:50:31 -04:00
Brad King aa6682802e kwiml: Update import script for new upstream URL 2016-09-08 09:49:39 -04:00
Brad King 4dda1812f0 Merge topic 'backport-curl-fix'
4b53a693 curl: Backport certificate reuse fix from 7.50.2
2016-09-07 11:55:24 -04:00
Brad King 4b53a693bd curl: Backport certificate reuse fix from 7.50.2
Backport curl upstream commit curl-7_50_2~32 (nss: refuse previously
loaded certificate from file, 2016-08-22).
2016-09-07 08:46:42 -04:00
Brad King 9109ba4347 Merge topic 'test-GenerateExportHeader-with-RunCMake'
72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat
fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure
4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
2016-09-06 08:51:01 -04:00
Brad King fc3dab0ea9 Tests: Port GenerateExportHeader test to RunCMake infrastructure
This will allow build failure cases to be added later.
2016-09-05 09:45:42 -04:00
Brad King 3825a56493 libuv: Simplify variable initializations to satisfy Clang scan-build
The Clang scan-build tool warns about assignments whose values are never
used, so initialize local variables at declaration instead.
2016-09-01 11:10:18 -04:00
Brad King 6f8b93983a Merge topic 'import-libuv'
39ac889d cmake: Add trivial usage of libuv
7cf369fe Do not build libuv on HP-UX
075cae51 Do not build libuv on SPARC
9a53af40 Do not build libuv on Cygwin
219f7411 Do not build libuv on Mac OS X 10.4 and lower
8a5beef3 Add option to build CMake against a system libuv
e56aa462 FindLibUV: Add module to find libuv package
551d5aed libuv: Fix unused variable warning in uv_loop_close
f4f8074b libuv: Avoid including macOS CoreServices header globally
a63aaaed libuv: Always include our own header first
9130b53a libuv: Conditionally declare Windows APIs for VS 2008 and below
b52afa46 libuv: Fix anonymous union syntax
05dbc204 libuv: Fix Windows API function typedef syntax
75139374 libuv: Install LICENSE file with CMake documentation
95dcc4e4 libuv: Disable warnings to avoid changing 3rd party code
13b7e758 libuv: Build the library within CMake
...
2016-08-31 09:19:31 -04:00
Brad King 8a5beef32e Add option to build CMake against a system libuv
Create a CMAKE_USE_SYSTEM_LIBUV option.
2016-08-31 09:05:14 -04:00
Brad King 551d5aedbf libuv: Fix unused variable warning in uv_loop_close 2016-08-31 09:05:14 -04:00
Brad King f4f8074bec libuv: Avoid including macOS CoreServices header globally
We only need the availability macros in `unix/internal.h`.  We already
include CoreServices where needed in implementation files.
2016-08-31 09:05:13 -04:00
Brad King a63aaaed05 libuv: Always include our own header first 2016-08-31 09:05:13 -04:00
Brad King 9130b53a5e libuv: Conditionally declare Windows APIs for VS 2008 and below 2016-08-31 09:05:13 -04:00
Brad King b52afa4655 libuv: Fix anonymous union syntax 2016-08-31 09:05:13 -04:00
Brad King 05dbc204cd libuv: Fix Windows API function typedef syntax 2016-08-31 09:05:12 -04:00
Brad King 75139374f0 libuv: Install LICENSE file with CMake documentation
When we install using the bundled libuv source, notify users of its
license terms.
2016-08-31 09:05:12 -04:00
Brad King 95dcc4e474 libuv: Disable warnings to avoid changing 3rd party code
Add '-w' or equivalent flag on compilers supporting it.
Tell MSVC to use its lowest warning level inside libuv sources.
2016-08-31 09:05:12 -04:00
Brad King 13b7e7587d libuv: Build the library within CMake
Take logic from upstream `Makefile.am` and `configure.ac` to build libuv
sources.

Update `uv.h` to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).

Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h`
header from CMake sources.
2016-08-31 09:02:19 -04:00
Brad King d96416fe48 Merge branch 'upstream-libuv' into import-libuv
* upstream-libuv:
  libuv 2016-08-30 (897738b1)
2016-08-31 09:01:07 -04:00
Brad King 3800fc299f Add script to update libuv from upstream 2016-08-31 08:53:38 -04:00
Brad King b82d027b45 Utilities/Release: Drop Linux 32-bit binary
The Linux distro we've been using for this is so old that it limits our
ability to import newer third-party software.  Until a new machine can
be configured to provide this binary we can simply drop it.  Users will
still be able to build from source or use a distro-provided version.
2016-08-30 09:48:39 -04:00
Brad King 24e7ccb7ef curl: Update script to get curl from new repository
Curl is now hosted at

  https://github.com/curl/curl.git
2016-08-26 08:32:45 -04:00
Ben Boeckel dcb2e39fda update-third-party: support Git 2.9.0's new merge restrictions
Use the `--allow-unrelated-histories` flag to declare that we Know What
We're Doing™ (but only if necessary).
2016-08-24 14:16:13 -04:00
Brad King a71ca1f0b3 Merge topic 'import-vim-syntax'
b4556b47 Help: Add release notes for 'vim-cmake-syntax' import
25c01cf0 Aux: Install vim-cmake-syntax files with CMake
e3ac68cf Merge branch 'upstream-vim-cmake-syntax' into import-vim-syntax
4a22c06e vim-cmake-syntax 2016-08-16 (e782679c)
f21a8235 Aux: Drop vim files prior to import of third-party version
0966f1c5 Add script to update vim-cmake-syntax from upstream
2016-08-24 09:45:29 -04:00
Brad King 481c9003fa libarchive: Fix include order in xxhash.c
We need to include `archive_platform.h` before any system headers in
order to ensure that `_WIN32_WINNT` is defined early enough.
2016-08-17 10:48:28 -04:00
Brad King 0966f1c548 Add script to update vim-cmake-syntax from upstream 2016-08-17 09:11:06 -04:00
Konstantin Podsvirov c18dc6fbe5 Added CMake_BUILD_DEVELOPER_REFERENCE option
By default is OFF and marked as advanced.

It's also add custom cmake-developer-reference (ALL) target

Generated output will be installed to ${CMAKE_DOC_DIR}/developer-reference.
2016-08-16 19:02:35 +03:00
Brad King 85d966dcd7 Merge topic 'update-curl'
f59ab433 curl: Remove CMake-specific README
f53f4a8a Merge branch 'upstream-curl' into update-curl
202adcfe curl 2016-08-03 (f2cb3a01)
e1c11352 curl: Update script to get curl 7.50.1
a51c6c53 Merge branch 'upstream-curl' into update-curl
7ec709d3 curl 2015-08-11 (1a7f66a3)
3e9b0343 Add script to update curl from upstream
2016-08-04 09:56:39 -04:00
Brad King f59ab43370 curl: Remove CMake-specific README
We will now manage the curl source tree updates using
the `Utilities/Scripts/update-curl.bash` script.  Drop
the README that covered the old method.
2016-08-03 14:31:05 -04:00
Brad King f53f4a8a2d Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2016-08-03 (f2cb3a01)
2016-08-03 14:26:53 -04:00
Brad King e1c11352f2 curl: Update script to get curl 7.50.1 2016-08-03 14:26:02 -04:00
Brad King 3e9b03439f Add script to update curl from upstream 2016-08-03 11:51:27 -04:00
Konstantin Podsvirov 7d7446c905 Utilities/Sphinx: Remove use of continue() method
We currently only require CMake 2.8.4 which does not provide it.
2016-08-02 15:15:00 -04:00
Brad King 9587011d14 Utilities/Release: Update Windows binary host path to CMake 2016-07-13 14:07:14 -04:00
Brad King ad7da08ac1 Utilities/Release: Switch to Qt 5.7 for Linux x86_64 binary
Compile as C++11 since Qt 5.7 requires it.  Limit use of glibc
to 2.6 APIs and lower.
2016-07-06 10:47:12 -04:00
Brad King e1e54295e8 Utilities/Release: Compile OS X binary as C++11
We already compile with `-stdlib=libc++` as required for Qt 5.6.
We can compile as C++11 and still deploy to OS X 10.7.
2016-07-01 11:17:09 -04:00
Brad King 4c476cc9b2 Merge topic 'clang-format-script'
a77d597b clang-format.bash: Fix filter-branch example documentation
2016-07-01 09:12:43 -04:00
Brad King 48680ade09 Merge branch 'clang-format-script' into release 2016-06-30 16:13:46 -04:00