Commit Graph

33068 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 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 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 681e0429fc Tests: Fix RunCMake.CTest output match to tolerate line number changes 2016-09-27 15:04:27 -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 a9cb60a951 Merge topic 'suppress-pgi-warnings'
89c20300 CTestCustom: Suppress PGI warnings in generated Lexer/Parser code
965eb50c CTestCustom: Suppress PGI compiler warning summary line
2016-09-27 08:23:00 -04:00
Brad King 069d0e2431 Merge topic 'index-directories'
cda8c782 cmGlobalGenerator: Optimize FindMakefile method with an index
2016-09-27 08:22:57 -04:00
Brad King ded15f26b8 Merge topic 'codelite-organize-by-target'
cbe48879 CodeLite: Optionally use targets to create (sub)project files
2016-09-27 08:22:53 -04:00
Brad King e8ff565d94 Merge topic 'cmake-server-basic-commands'
89043267 server-mode: Add command to compute the build system
0a8ad670 server-mode: Add a configure command
544f65f4 server-mode: Set global configuration of cmake via a command
82104cc7 server-mode: Query global configuration of cmake via a command
2016-09-27 08:22:50 -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 45fff9328d Merge topic 'update-kwsys'
1798e495 Merge branch 'upstream-KWSys' into update-kwsys
d15b7603 KWSys 2016-09-23 (80f820fc)
2016-09-27 08:22:44 -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
Brad King 4207aa4724 Merge topic 'ninja-include-dir'
144cc6f1 Ninja: Add source location as include directory for preprocessed files
2016-09-27 08:22:35 -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
Nils Gladitz 144cc6f1f9 Ninja: Add source location as include directory for preprocessed files
Fortran INCLUDE statements are not handled by the preprocessor.

Since the location of the preprocessed file is distinct from the
original source file explicitly add the source file's directory
as an include path in the actual compile step (not the preprocessing step)
so INCLUDE can find it.

Closes: #16332
2016-09-27 08:11:08 -04:00
Kitware Robot 20786869e8 CMake Nightly Date Stamp 2016-09-27 00:01:05 -04:00
Brad King cda8c782db cmGlobalGenerator: Optimize FindMakefile method with an index
This method is used by directory get/set APIs.  With the new
`SUBDIRECTORIES` and `BUILDSYSTEM_TARGETS` methods projects may now make
heavy use of these APIs to traverse their directory structure and
process targets.  Make this faster by indexing the directory lookups.
2016-09-26 15:35:39 -04:00
Brad King 89c20300ed CTestCustom: Suppress PGI warnings in generated Lexer/Parser code 2016-09-26 14:50:02 -04:00
Brad King 965eb50cda CTestCustom: Suppress PGI compiler warning summary line
We will match/ignore the actual warning lines, if any, so we can always
ignore the summary line if present.
2016-09-26 14:49:39 -04:00
Tobias Hunger 890432672b server-mode: Add command to compute the build system 2016-09-26 14:33:12 -04:00
Tobias Hunger 0a8ad6700e server-mode: Add a configure command
Add a command to trigger cmake to configure a project.

Keep this separate from the compute step (added in the next commit)
to faciliate applications like cmake-gui.
2016-09-26 14:32:22 -04:00
Tobias Hunger 544f65f44d server-mode: Set global configuration of cmake via a command
"setGlobalSettings" can be used to change settings reported by
"globalSettings" command.
2016-09-26 14:25:20 -04:00
Tobias Hunger 82104cc7a8 server-mode: Query global configuration of cmake via a command
Add "globalSettings" command that returns:
* Return capability information
* Return currently used generator/extra generator
* Return a range of flags for debug/trace/etc.
2016-09-26 14:23:53 -04:00
Jamie Snape 33ec71f343 FindMatlab: Fix -pthread check for projects with only C enabled 2016-09-26 13:59:37 -04:00
Minze Zwerver cbe4887927 CodeLite: Optionally use targets to create (sub)project files
The basic codelite generator creates .project files based on the
`project()` stanza.  Add a `CMAKE_CODELITE_USE_TARGETS` option to use
the targets instead.
2016-09-26 13:40:38 -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 1798e49595 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-09-23 (80f820fc)
2016-09-26 09:45:51 -04:00
KWSys Upstream d15b7603ae KWSys 2016-09-23 (80f820fc)
Code extracted from:

    http://public.kitware.com/KWSys.git

at commit 80f820fcbb7cb9536a7c3886fa60c5c211559daf (master).

Upstream Shortlog
-----------------

Brad King (3):
      66cd1138 ConsoleBuf: Avoid unnecessary initializations in test code
      4e6c9410 ConsoleBuf: Remove extra flush operations from test code
      80f820fc ConsoleBuf: Avoid use of __FUNCTION__ in tests
2016-09-26 09:45:46 -04:00
Brad King a721830767 Merge topic 'auto-ptr'
e6380b11 Use std::auto_ptr on compilers that do not warn about it
67480c05 Add a feature check to test availability of auto_ptr
2016-09-26 09:06:41 -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 806017cab8 Merge topic 'tidy-server'
92207752 cmServer: add braces around conditional statements
2016-09-26 09:06:35 -04:00
Brad King d5fbb19b49 Merge topic 'ctest-no-manual-delete'
b941f3bf CTest::CompressString: Avoid manual delete
a5a7771a CTest::CompressString: Reorder code to avoid unnecessary allocation
6ed56457 CTest::Base64EncodeFile: Avoid manual delete
2016-09-26 09:06:32 -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
Brad King d57a6493fc Merge topic 'FindMatlab-simulink'
b36408a0 FindMatlab: Add notes for topic 'FindMatlab-simulink'
7274fd9c FindMatlab: Add EXECUTABLE, MODULE, and SHARED options to matlab_add_mex
ccd1341a FindMatlab: Add SIMULINK component
aaf4014c FindMatlab: Fix documentation
2016-09-26 09:06:26 -04:00
Brad King e6a38a84d6 Merge topic 'fortran-submodule-test'
b66bc660 Tests: Add Fortran submodule tests
2016-09-26 09:06:22 -04:00
Daniel Pfeifer e6380b11e9 Use std::auto_ptr on compilers that do not warn about it 2016-09-26 09:03:46 -04:00
Daniel Pfeifer 67480c05e3 Add a feature check to test availability of auto_ptr 2016-09-26 09:03:46 -04:00
Roman Wüger 06dea230ae CPack/NSIS: Add custom component install directory 2016-09-26 09:01:59 -04:00
Brad King b35568f3f9 Xcode: Add option to set Swift language version
Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the
SWIFT_VERSION attribute in a generated Xcode project.  Ideally this
would be a `<LANG>_STANDARD` property but since Swift support is
very minimal we should reserve that property for more complete
treatment later.

Issue: #16326
2016-09-26 08:46:23 -04:00
Kitware Robot 63c25013b1 CMake Nightly Date Stamp 2016-09-26 00:01:04 -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
Kitware Robot 02277aef10 CMake Nightly Date Stamp 2016-09-25 00:01:04 -04: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
Kitware Robot 08147a7fea CMake Nightly Date Stamp 2016-09-24 00:01:04 -04:00
Daniel Pfeifer 92207752df cmServer: add braces around conditional statements 2016-09-23 22:43:36 +02:00