Commit Graph

5101 Commits

Author SHA1 Message Date
Brad King 4f96641ba2 Merge topic 'cxx11-clang-format'
4022b286 clang-tidy: blacklist "modernize" checks
2b4c32c9 clang-format: format all code as Cpp11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1191
2017-08-31 10:12:18 -04:00
Brad King b40a43a1f4 Merge topic 'test-server-result'
ea359bc5 Tests: Teach Server test to print server return code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1212
2017-08-31 10:11:04 -04:00
Brad King 96c882dcba Merge topic 'lexer-null'
14d9a11b ListFileLexer: fix heap-buffer-overflow on malicious input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1153
2017-08-31 10:08:18 -04:00
Brad King ea359bc5a6 Tests: Teach Server test to print server return code
This will aid in diagnosing failures.
2017-08-30 14:20:44 -04:00
Matthias Maennich 14d9a11be9 ListFileLexer: fix heap-buffer-overflow on malicious input
In case a list file contains a null terminated string that is continued
until a later space, the lexer token information got inconsistent:

e.g. an argument   "TEST\0FOOBAR"    is passed by the lexer as a token

char* = "TEST\0FOOBAR" and length 11
             ^^ note: ascii 0x00

Using strdup in cmListFileLexer leads lexer->token.text to be allocated
with size 5 and lexer->token.length to be set to 11

A subsequent call to this function with an argument of  5 < length <= 11
wrongly assumed a sufficiently sized buffer and therefore corrupted the
heap buffer. The program might crash due to this corruption.
The case "NullTerminatedArgument" is intentionally using a quite large
'rest' to increase the chance to actually hit the issue. It will reliably
crash with address sanitizer enabled though.

This fix addresses all rules where arbitrary characters are matched to
ignore \0 in order to fall through to the rule that matches an arbitrary
character as BadCharacter.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-30 11:28:51 -04:00
Daniel Pfeifer 2b4c32c95f clang-format: format all code as Cpp11 2017-08-30 11:07:05 -04:00
Brad King 82d9bbf2b7 Merge topic 'add-cppcheck'
311b7b1a Add properties to run cppcheck along with the compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1147
2017-08-30 10:55:24 -04:00
Brad King 2df8dbcdf2 Merge topic 'fix-find-package-mode'
18454ea4 cmake: Fix --find-package mode with imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1208
2017-08-30 10:44:36 -04:00
Bill Hoffman 311b7b1a70 Add properties to run cppcheck along with the compiler
Create a `<LANG>_CPPCHECK` target property (initialized by a
`CMAKE_<LANG>_CPPCHECK` variable) to specify a `cppcheck` command line
to be run along with the compiler.
2017-08-30 10:23:46 -04:00
Brad King fff28e30cd Merge topic 'no-crlf-blobs'
ebc91a44 Avoid CRLF newlines in Git repo blobs
c69b4c8d bzip2: Drop unused .dsp files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1211
2017-08-30 10:02:05 -04:00
Brad King ebc91a4452 Avoid CRLF newlines in Git repo blobs
In commit 8ed03baa76 (gitattributes: prefer `eol=crlf` to `-crlf`,
2017-08-23) we left a few CRLF blobs in the repository.  Some Git
versions get confused by text files with CRLF blobs.  Convert them
to LF blobs.  Use the `eol=crlf` attribute to tell Git to use CRLF
on checkout.
2017-08-30 08:29:43 -04:00
Daniel Pfeifer 7ddd43183d Merge topic 'cstyle-casts'
190e3825 Replace C-style casts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1176
2017-08-30 06:38:00 -04:00
Brad King 18454ea44d cmake: Fix --find-package mode with imported targets
The change in commit v3.9.0-rc1~116^2~6 (cmakemain: use script role for
-P, 2017-05-11) accidentally left project commands out of find-package
mode, causing packages that provide imported targets to break.

Fixes: #17124
2017-08-29 15:30:07 -04:00
Brad King f267505c53 Merge topic 'test-fix-vs15-toolset-v90'
ce602feb Tests: Fix RunCMake.BuildDepends on VS 2017 with v90 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1186
2017-08-28 09:46:13 -04:00
Daniel Pfeifer e710d6953d Merge topic 'server-cxx11'
27d87fbd CTestCustom: Suppress exception loosening warning
7f29bbe6 server: always enable server
4614a3b2 server: backport to C++11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1149
2017-08-27 04:02:24 -04:00
Daniel Pfeifer 190e3825d4 Replace C-style casts 2017-08-27 09:58:46 +02:00
Daniel Pfeifer 7f29bbe6f2 server: always enable server 2017-08-26 07:46:58 +02:00
Daniel Pfeifer ca2233e31f IWYU: Mark cmConfigure.h with pragma: keep
Also remove `#include "cmConfigure.h"` from most source files.
2017-08-26 07:41:04 +02:00
Brad King ebe436eb97 Merge topic 'cxx11-nullptr'
5962db43 Use C++11 nullptr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1175
2017-08-25 11:26:24 -04:00
Brad King a749fcb3d0 Merge topic 'modernize-git-whitespace-attributes'
8ed03baa gitattributes: prefer `eol=crlf` to `-crlf`
40470031 MumpsCoverage: remove unnecessary attribute
d20485d8 gitattributes: prefer `eol=lf` to `crlf=input`
b85c2589 gitattributes: prefer `-text` for binary files
377f3685 gitattributes: remove unused attributes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1173
2017-08-25 11:04:05 -04:00
Brad King ce602febf0 Tests: Fix RunCMake.BuildDepends on VS 2017 with v90 toolset
The MSVC toolsets v100 and below forget to re-link when a manifest
changes.  Exclude this part of the test case for them.
2017-08-25 09:55:50 -04:00
Daniel Pfeifer 5962db4389 Use C++11 nullptr 2017-08-24 23:39:47 +02:00
Brad King 061b4f24be Merge topic 'ipo-test-output'
6756b552 Tests: Print more info on CheckIPOSupported test failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1177
2017-08-24 09:33:24 -04:00
Ben Boeckel 8ed03baa76 gitattributes: prefer eol=crlf to -crlf
The `crlf` attribute is deprecated in Git. This also changes the given
files to be in the index using LF newlines, but they will be checked
out with CRLF newlines due to the attribute.
2017-08-23 13:31:41 -04:00
Ben Boeckel 4047003161 MumpsCoverage: remove unnecessary attribute
The file has Unix newline endings.
2017-08-23 13:31:31 -04:00
Ben Boeckel d20485d8d9 gitattributes: prefer eol=lf to crlf=input
The `crlf` attribute is deprecated in Git.
2017-08-23 13:30:00 -04:00
Ben Boeckel b85c2589a1 gitattributes: prefer -text for binary files 2017-08-23 13:30:00 -04:00
Brad King 6756b552ee Tests: Print more info on CheckIPOSupported test failure 2017-08-23 08:43:28 -04:00
Sebastian Holtermann 13bb716f04 Autogen: Fix and extend SKIP_AUTOMOC test 2017-08-22 19:10:31 +02:00
Brad King b14fdea3a6 Merge topic 'cpack-extend-test-capabilities'
80047bd6 CPack: extend testing framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1162
2017-08-21 09:03:00 -04:00
Domen Vrankar 80047bd611 CPack: extend testing framework
Some CPack tests require running
commands after the inclusion of
CPack.cmake and this patch enables
such tests to declare run_after_include_cpack
function which is run after the
inclusion.
2017-08-19 22:41:14 +02:00
Sebastian Holtermann 05891d8f77 Autogen: Add test for AUTOMOC_MACRO_NAMES 2017-08-18 12:32:34 +02:00
Brad King d817bbb8df Merge topic 'string_prepend'
d8ecc254 Add PREPEND sub-command to string command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1129
2017-08-16 10:50:38 -04:00
Brad King 6c5e03d6d4 Merge branch 'backport-autogen-autouic-lookup' into autogen-autouic-lookup 2017-08-15 13:23:11 -04:00
Sebastian Holtermann fb5db079a7 Autogen: Extend AUTOUIC search paths test 2017-08-15 13:22:18 +02:00
Daniel Pfeifer 9b3c5ccf12 Server: test cache after reconnect 2017-08-13 23:20:11 +02:00
Brad King 1d51fcaeaf Merge topic 'autogen-merge-redundant'
15ef2728 Autogen: Add test for OBJECT libraries
362f9bd7 Autogen: Merge and remove redundant function calls
952fc65d Autogen: Clear sources meta data cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1120
2017-08-11 09:14:40 -04:00
Brad King 0baf114a35 Merge topic 'genex-COMPILE_FEATURES-stds'
4f7d9eef Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1118
2017-08-11 09:13:39 -04:00
Sylvain Joubert d8ecc25457 Add PREPEND sub-command to string command 2017-08-11 13:26:33 +02:00
Sebastian Holtermann 15ef27286a Autogen: Add test for OBJECT libraries 2017-08-10 23:15:48 +02:00
Brad King 8c0afd2c75 Merge branch 'find-package_root-disable' into release-3.9
Merge-request: !1116
2017-08-10 09:27:19 -04:00
Brad King 311f338ddc Merge topic 'find-package_root-test-regex'
e574bce1 Tests: Simplify RunCMake.find_package PackageRoot case regexes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Chuck Atkins <chuck.atkins@kitware.com>
Merge-request: !1115
2017-08-10 09:22:17 -04:00
Brad King f4e66b41d8 Merge topic 'find-package_root-disable'
578d95f8 find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1116
2017-08-10 09:22:02 -04:00
Brad King 4f7d9eef51 Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 features
When `CXX_STANDARD` is not at least 14 or 17, features enabled by the
compiler for those standards should not be reported as existing by the
`COMPILE_FEATURES` genex.  Fix the implementation and add a test.
2017-08-08 13:28:38 -04:00
Brad King 578d95f87d find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9
Disable the feature added by commit v3.9.0-rc1~71^2~2 (find_*: Add a new
PackageRoot search path group, 2017-05-03) and remove documentation
added by commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search
path group, 2017-05-03).  Unfortunately the name `<pkg>_ROOT` may
already be set by projects for their own incompatible purposes.  Disable
the behavior change for now to fix the regression for CMake 3.9.  We can
restore it later with a policy.

In order to keep the implementation and tests working, add an
undocumented variable we can use in the tests to enable the behavior
before the policy is introduced.

Fixes: #17144
2017-08-08 11:52:28 -04:00
Brad King db6ea482f6 Merge topic 'gtest-dynamic-discovery'
bfcda401 Add dynamic test discovery for for Google Test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1056
2017-08-08 09:29:48 -04:00
Brad King 21e86adaf6 Merge topic 'drop-HP-UX'
49640d36 HP-UX: Drop support for building CMake on HP-UX
acd462dd README: Add AIX to list of supported platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1105
2017-08-08 09:22:00 -04:00
Brad King e574bce15b Tests: Simplify RunCMake.find_package PackageRoot case regexes 2017-08-08 08:23:57 -04:00
Brad King 49640d3629 HP-UX: Drop support for building CMake on HP-UX
CMake will soon require both C++11 and libuv to build.  Neither of
these works on HP-UX, so unfortunately we need to drop support for
the platform until someone can get them working.

Issue: #17137
2017-08-07 09:16:09 -04:00
Sebastian Holtermann a13716a5dc Autogen: Enable per-config support
Enables the AUTOGEN per-config include directories and wrapper sources
for multi configuration generators.

Closes #16460
2017-08-05 14:37:03 +02:00