Commit Graph

5122 Commits

Author SHA1 Message Date
Brad King
d4f58a9cd8 Merge topic 'fphsa-version-cleanup'
91935d9e FPHSA: lower-case for cmake_parse_arguments + move config-mode related code
aec27c15 FPHSA: use more localized _FOUND_VERSION instead of VERSION.
0019bfeb FPHSA: Add (failing) unit test in case a cache variable VERSION is present
81844334 FPHSA: add (failing) unit test for found version being equal to 0.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1224
2017-09-08 09:48:15 -04:00
Brad King
8bd26d7eac Merge topic 'findfreetype-importedtargets'
b1d1c56c Help: Add notes for topic 'FindFreetype-importedtargets'
457c2021 FindFreetype: Add imported target, docs, and test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1219
2017-09-08 09:46:00 -04:00
Ben Morgan
457c202196 FindFreetype: Add imported target, docs, and test 2017-09-07 17:52:33 +01:00
Sebastian Holtermann
2be0acb71e Autogen: Tests: Add AUTOGEN_TARGET_DEPENDS test to mocDepends tests 2017-09-07 18:03:14 +02:00
Brad King
14ea80ab0c Merge topic 'findexpat-importedtargets'
3a4f82e9 Help: Add notes for topic 'FindEXPAT-importedtargets'
bfe51369 FindEXPAT: Add unit test of target and variables
78f166f8 FindEXPAT: Add imported target and documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1207
2017-09-07 11:22:26 -04:00
Brad King
70a2a5d1e0 Merge topic 'vs-csharp-ref-no-asm'
94e70e53 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm
7e57e6ae VS: Do not reference output assemblies if not possible for CSharp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1203
2017-09-06 10:45:38 -04:00
Yves Frederix
0019bfebc9 FPHSA: Add (failing) unit test in case a cache variable VERSION is present 2017-09-05 21:20:00 +02:00
Yves Frederix
8184433428 FPHSA: add (failing) unit test for found version being equal to 0. 2017-09-05 21:18:34 +02:00
Brad King
94e70e5329 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm 2017-09-05 09:42:16 -04:00
Michael Stürmer
7e57e6ae12 VS: Do not reference output assemblies if not possible for CSharp target
Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
to their dependencies.  This causes VS to also reference the
dependency's output assembly by default, which is incorrect for
non-managed targets.

Fix this by setting `ReferenceOutputAssembly` to `false` for targets
that can't provide output assemblies.  Unmanaged C++ targets (shared
libs & executables) can still be referenced and a warning will be shown
in the IDE but the build will not break anymore.

Fixes: #17172
2017-09-05 09:41:40 -04:00
Brad King
20e5f7a9c9 Merge topic 'ExternalProject-command'
15617484 ExternalProject: Prevent COMMAND from being treated as a true keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1178
2017-09-05 09:31:06 -04:00
Craig Scott
1561748496 ExternalProject: Prevent COMMAND from being treated as a true keyword
The known keywords for each function are obtained by scraping the
documentation for lines matching a particular regular expression. In
commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09),
the docs were overhauled and the COMMAND docs subsequently matched the
regular expression when they shouldn't have. This made COMMAND appear as
a true keyword, which thwarted the special handling logic elsewhere for
the intended use of COMMAND arguments.

This commit contains a workaround for issue #17229 to force a dependency
of the patch step on the update step to ensure a predictable step order.

Fixes: #17198
2017-09-02 17:53:16 +10:00
Jean-Christophe Fillion-Robin
2645cb6208 FindPatch: Add module to find 'patch' command-line tool 2017-09-01 11:46:28 -04:00
Ben Morgan
bfe51369a7 FindEXPAT: Add unit test of target and variables 2017-09-01 16:02:57 +01:00
Brad King
671cc7490c Merge topic 'server-refactor'
0e4d5033 server: Added thread check to protect writedata
124424e9 server: Protect several fields from potentially pointing to bad memory
693fa0a9 server: Added assert to monitor uv_run status
882dcef8 server: Made connections in a server have a mutex to avoid use after frees
7ef28843 server: Moved buffer formatting into bufferstrategy
dc7a18d8 server: test buffer parsing
f8fd5a97 server: Made stdio connection accept different types of streams
6afc7f88 server: Remove unused fields / functions
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1111
2017-09-01 10:34:16 -04:00
Brad King
b568a18997 Merge topic 'tll-global-unknown-lib'
a47a8533 target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1220
2017-09-01 10:26:08 -04:00
Brad King
bd77717800 Merge topic 'fix-genex-SOURCES'
068cc545 Genex: Fix TARGET_PROPERTY value of SOURCES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1218
2017-09-01 10:25:08 -04:00
Brad King
068cc545d9 Genex: Fix TARGET_PROPERTY value of SOURCES
Refactoring in commit v3.8.0-rc1~445^2~2 (cmTarget: Move sanity checks
and computed property access to callers, 2016-10-13) exposed a typo in
commit v3.8.0-rc1~445^2~3 (cmGeneratorTarget: Implement
cmTargetPropertyComputer interface, 2016-10-13).  Together they broke
the `$<TARGET_PROPERTY:mytgt,SOURCES>` generator expression in the case
that the `SOURCES` target property is populated in part by the
`target_sources` command.  Add the missing `;`-separator.

Fixes: #17243
2017-09-01 10:23:37 -04:00
Justin Berger
dc7a18d82e server: test buffer parsing 2017-08-31 15:35:04 -04:00
Brad King
a47a853376 target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libs
This combination was accidentally rejected.  Allow it and add a test.

Fixes: #17245
2017-08-31 13:10:26 -04:00
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
2990799227 Merge branch 'fix-find-package-mode' into release-3.9
Merge-request: !1208
2017-08-29 15:33:24 -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