Commit Graph

6801 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 1adcf4917e Merge topic 'cpack-rpm-debuginfo-sources'
39c7d62c CPack/RPM debuginfo packaging documentation
dd3c938a CPack/RPM debuginfo directories to sources
b78fcf0d CPack/RPM debuginfo packages must contain sources
2016-09-27 08:23:03 -04:00
Brad King e56eca3f68 Merge topic 'find-matlab-pthread'
33ec71f3 FindMatlab: Fix -pthread check for projects with only C enabled
2016-09-27 08:22:47 -04:00
Brad King c3cce73e39 Merge topic 'CPackNSIS-per-component-install'
06dea230 CPack/NSIS: Add custom component install directory
2016-09-27 08:22:42 -04:00
Brad King 150d9955f6 Merge topic 'FindBoost-1.62'
9bb8ac8e FindBoost: update to 1.62
2016-09-27 08:22:39 -04:00
Domen Vrankar 39c7d62cbc CPack/RPM debuginfo packaging documentation 2016-09-27 08:18:21 -04:00
Domen Vrankar dd3c938a0f CPack/RPM debuginfo directories to sources
List of sources must be split into paths parts
so that debuginfo package cleans up after
itself.
2016-09-27 08:18:21 -04:00
Domen Vrankar b78fcf0d2f CPack/RPM debuginfo packages must contain sources
Issue #15668 fix was missing relevant source
files in debuginfo package.
2016-09-27 08:18:21 -04:00
Jamie Snape 33ec71f343 FindMatlab: Fix -pthread check for projects with only C enabled 2016-09-26 13:59:37 -04:00
Brad King 1a5fddfe6d Merge topic 'xcode-sdk-version'
540815ee Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path
2016-09-26 13:20:14 -04:00
Brad King 4d6f0a5573 Merge topic 'revert-cpack-deb-package-description-fallback'
1ef45a30 Revert "CPack/DEB: Make package description variable precedence match RPM"
2016-09-26 09:06:39 -04:00
Brad King c6f07d06c6 Merge topic 'xcode-swift-version'
b35568f3 Xcode: Add option to set Swift language version
49d50ad4 Xcode: Port rudimentary Swift support to Xcode 8
2016-09-26 09:06:29 -04:00
Roman Wüger 06dea230ae CPack/NSIS: Add custom component install directory 2016-09-26 09:01:59 -04:00
Gregor Jasny 540815eec2 Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path
Starting with Xcode 8 the SDK folder also contains an unversioned
entry:

$ ls -l /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

drwxr-xr-x  5 root  wheel  170 Mar  4  2018 MacOSX.sdk
lrwxr-xr-x  1 root  wheel   10 Sep 16 20:49 MacOSX10.12.sdk -> MacOSX.sdk

If this unversioned path is used CMake cannot detect the SDK
version. To work around the problem we always invoke the code path
that translates short SDK names like "macosx10.12" into a path.
That way we always end up with a versioned SDK path in
_CMAKE_OSX_SYSROOT_PATH which is later used to determine the version.

Closes: #16323
2016-09-25 13:06:23 +02:00
Tatsuyuki Ishi 9bb8ac8ed2 FindBoost: update to 1.62 2016-09-25 16:53:03 +09:00
Domen Vrankar 1ef45a30aa Revert "CPack/DEB: Make package description variable precedence match RPM"
This reverts commit 332b089ad2 as multiline
descriptions require special formatting.
2016-09-24 12:05:06 +02:00
Brad King 49d50ad407 Xcode: Port rudimentary Swift support to Xcode 8
The `.pbxproj` file must now specify a `SWIFT_VERSION` value.
Set it to the legacy value of "2.3" for now.  Later this can
be made configurable (e.g. to "3.0").
2016-09-23 11:47:06 -04:00
Jamie Snape 7274fd9c19 FindMatlab: Add EXECUTABLE, MODULE, and SHARED options to matlab_add_mex 2016-09-23 09:28:27 -04:00
Jamie Snape ccd1341ac9 FindMatlab: Add SIMULINK component 2016-09-23 09:28:18 -04:00
Jamie Snape aaf4014c28 FindMatlab: Fix documentation 2016-09-23 09:28:09 -04:00
Brad King 3a883a9f7d Merge topic 'ninja-fortran'
33058150 Help: Document Ninja generator conditional Fortran support
59aae292 Ninja: Add dyndep rules for Fortran module dependencies
39ebfc79 Ninja: Add explicit preprocessing step for Fortran
9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies
8eca59a1 Ninja: Add comment with Fortran dependency design documentation
a57d1bb7 Ninja: Add API to check for dyndep support
0488ae63 Ninja: Refactor ninja feature detection
f0a23aa3 Ninja: Refactor Fortran rejection logic
2016-09-23 08:40:16 -04:00
Brad King 961536dc85 Merge topic 'CheckFortranSourceCompiles-custom-ext'
4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension
86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo
2016-09-23 08:40:13 -04:00
Brad King 4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King 86d2e4276d CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo 2016-09-22 14:47:34 -04:00
Brad King 39ebfc79e6 Ninja: Add explicit preprocessing step for Fortran
All Fortran sources need to be preprocessed before any source may be
compiled so that module dependencies can be (later) extracted.  Factor
out an explicit preprocessing step preceding compilation.  Use Ninja
depfile dependencies on the preprocessing step and then compile the
already-preprocessed source with a separate build statement that depends
explicitly only on the preprocessor output.  Later we will insert
dynamic discovery of module dependencies between these steps.
2016-09-22 13:53:09 -04:00
Brad King 0d8c5ba42a FindOpenSSL: Search in more-specific directories before less-specific
Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search
path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option
to `find_library` calls to consider all names in each directory before
moving on to the next directory.  Fix our library search directory
ordering to place more-specific (e.g. VC/) directories before the
general directories.  Otherwise they may never be considered.

Closes: #16320
2016-09-22 07:55:27 -04:00
Brad King 5c1ebec843 Merge topic 'cpack-rpm-policy-warnings'
edb3f6ee CPackRPM: Avoid CMP0007 warnings
2016-09-20 08:40:58 -04:00
Brad King 290d48ebc7 Merge topic 'cpack-rpm-srpm-package'
d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
2016-09-20 08:40:55 -04:00
Brad King 9dc5bd9611 Merge topic 'cpack.hash_computing'
1c63aa4d CPack: Add option to generate a checksum file next to each package file
4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
2016-09-20 08:40:52 -04:00
Brad King 8d83c9d100 Merge topic 'ifw-package-resources'
b807cd9b CPackIFW: Add 'cpack_ifw_add_package_resources' command
2016-09-20 08:40:49 -04:00
Brad King 8b0f246694 Merge topic 'ExternalProject-HTTP_HEADER'
5e6716db Help: Add notes for topic 'ExternalProject-HTTP_HEADER'
0f424c3d ExternalProject: Add HTTP_HEADER
2016-09-20 08:40:45 -04:00
Brad King 6a9b30aea3 Merge topic 'cuda_use_cudadevrt_with_separable_compilation'
891e0ebd FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
2016-09-20 08:40:42 -04:00
Domen Vrankar edb3f6eee4 CPackRPM: Avoid CMP0007 warnings
For older versions of CMake minimum required version CMP0007 policy
warning was printed out.
2016-09-20 08:30:29 -04:00
Domen Vrankar d9cec8adca CPack/RPM: Generate source rpm (SRPM) packages on demand
Closes: #15839
2016-09-20 08:24:28 -04:00
Robert Maynard 891e0ebdce FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
Issue: #15157
Patch-by: l0calh05t on gitlab.kitware.com
2016-09-20 08:04:30 -04:00
Konstantin Podsvirov b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Petr Orlov 1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Ruslan Baratov 0f424c3d07 ExternalProject: Add HTTP_HEADER 2016-09-19 16:05:12 +03:00
Brad King 31d63ac88c Merge topic 'doc-CPackIFW'
a327b206 CPackIFW: Format documentation
2016-09-19 08:55:15 -04:00
Brad King 34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Tamar Kranenburg 8dac3af03c FindPostgreSQL: Search for version 9.6 2016-09-18 16:39:18 +02:00
Tamar Kranenburg 84039a6aa2 FindPostgreSQL: Correct comment about known postgres versions 2016-09-18 16:39:18 +02:00
Brad King a327b20694 CPackIFW: Format documentation
Place command documentation in explicit markup blocks and remove
horizontal dividers.  Use definition lists and bullet lists as
appropriate.
2016-09-16 10:40:17 -04:00
Pierluigi Taddei c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King 3efb3c0012 Merge topic 'ExternalProject-http-credentials'
9cbd04be Help: Add notes for topic 'ExternalProject-http-credentials'
e1ca1173 ExternalProject: Add HTTP_{USERNAME,PASSWORD}
2016-09-16 10:21:11 -04:00
Brad King 7aa97b948f FeatureSummary: Add include() to examples
Since this module's documentation already includes complete usage
examples, make them more complete by showing the include() explicitly.

Issue: #16309
2016-09-15 11:34:34 -04:00
Brad King 46ded385c0 FeatureSummary: Format documentation
Revise the documentation using reStructuredText inline markup and
explicit blocks so that it formats well.
2016-09-15 11:33:24 -04:00
Brad King 5d17e99580 FeatureSummary: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-09-15 09:50:32 -04:00
Brad King 7c92c84302 FeatureSummary: Order function implementations the same as the documentation 2016-09-15 09:49:03 -04:00
Brad King 6f31436c91 Merge topic 'extend_matlab_unit_test'
4ebb4ae6 FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
2016-09-15 08:46:42 -04:00