summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ListFileLexer: fix heap-buffer-overflow on malicious inputMatthias Maennich2017-08-306-98/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge topic 'suppress-warning-count'Brad King2017-08-301-4/+4
|\ | | | | | | | | | | | | | | | | 32b55a58 CTestCustom: Suppress warning summary count from SunPro 81b2b089 CTestCustom: Generalize comment on warning summary suppression Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !1197
| * CTestCustom: Suppress warning summary count from SunProBrad King2017-08-301-0/+1
| | | | | | | | | | If warnings appear we want to match and/or suppress them independently. Always suppress the warning summary.
| * CTestCustom: Generalize comment on warning summary suppressionBrad King2017-08-301-4/+3
| |
* | Merge topic 'update-jsoncpp'Brad King2017-08-3021-2277/+3475
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | 73ed503e jsoncpp: Drop doxygen comments not recognized by Clang 1a2b62b1 jsoncpp: Add initialization to pacify scanbuild c103a959 jsoncpp: Fix compilation on SunPro 0a0f7106 jsoncpp: Drop deprecation markup e0981955 Merge branch 'upstream-jsoncpp' into update-jsoncpp a7241206 jsoncpp: Update script to get jsoncpp 1.8.2 cb844d41 jsoncpp: Drop unnecessary files from source list 7c06d356 Merge branch 'upstream-jsoncpp' into update-jsoncpp ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1199
| * jsoncpp: Drop doxygen comments not recognized by ClangBrad King2017-08-304-6/+6
| | | | | | | | | | Some Clang versions warn with `-Wdocumentation-unknown-command` about the `\internal` and `\snippet` command tag names.
| * jsoncpp: Add initialization to pacify scanbuildBrad King2017-08-301-0/+1
| | | | | | | | | | | | | | The scanbuild analysis cannot see that decodeUnicodeEscapeSequence either initializes the `unicode` argument or returns `false` such that the code following it runs only if `unicode` is initialized. Add an explicit initialization to pacify it.
| * jsoncpp: Fix compilation on SunProBrad King2017-08-305-0/+20
| | | | | | | | The SunPro compiler does not support `#pragma pack`.
| * jsoncpp: Drop deprecation markupBrad King2017-08-304-11/+12
| | | | | | | | | | | | | | | | Even though we disable warnings when building jsoncpp itself, including its headers from other CMake sources may still cause warnings. Additional work will be needed to port CMake to newer jsoncpp interfaces while still supporting jsoncpp 1.0.0. For now, just suppress the markup.
| * Merge branch 'upstream-jsoncpp' into update-jsoncppBrad King2017-08-3019-2272/+3417
| |\ | | | | | | | | | | | | * upstream-jsoncpp: jsoncpp 2017-08-27 (4cfae897)
| | * jsoncpp 2017-08-27 (4cfae897)JsonCpp Upstream2017-08-2819-2271/+3417
| | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://github.com/open-source-parsers/jsoncpp.git at commit 4cfae897c049ec72175a3d55deda68146ad3720d (1.8.2).
| * | jsoncpp: Update script to get jsoncpp 1.8.2Brad King2017-08-301-1/+1
| | |
| * | jsoncpp: Drop unnecessary files from source listBrad King2017-08-301-2/+0
| | |
| * | Merge branch 'upstream-jsoncpp' into update-jsoncppBrad King2017-08-300-0/+0
| |\ \ | | |/
| | * jsoncpp 2014-11-20 (7165f6ac)JsonCpp Upstream2017-08-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://github.com/open-source-parsers/jsoncpp.git at commit 7165f6ac4c482e68475c9e1dac086f9e12fff0d0 (1.0.0).
| * | jsoncpp: Add script to update from upstreamBrad King2017-08-301-0/+33
|/ /
* | Merge topic 'no-crlf-blobs'Brad King2017-08-3022-1266/+1043
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Avoid CRLF newlines in Git repo blobsBrad King2017-08-3020-1043/+1043
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | bzip2: Drop unused .dsp filesBrad King2017-08-302-223/+0
| | |
* | | Merge topic 'doc-dev-review-messages'Craig Scott2017-08-301-0/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee51f374 Help/dev: Add commit reference format to review process guide c928439c Help/dev: Organize commit message instructions into subsections Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1182
| * | | Help/dev: Add commit reference format to review process guideBrad King2017-08-291-0/+20
| | | |
| * | | Help/dev: Organize commit message instructions into subsectionsBrad King2017-08-241-0/+9
| | | |
* | | | Merge topic 'lexer'Daniel Pfeifer2017-08-3013-1490/+3454
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 168b97a5 Lexer: add a helper script to automate generating the lexers 376c1395 cmFortranLexer: regenerate with flex 2.6.4 (previously 2.6.1) 80c08c7c cmExprLexer: regenerate with flex 2.6.4 (previously 2.6.1) 59f78dcb cmDependsJavaLexer: regenerate with flex 2.6.4 (previously 2.6.1) d2e8351a cmCommandArgumentLexer: regenerate with flex 2.6.4 (previously 2.6.1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1201
| * | | | Lexer: add a helper script to automate generating the lexersMatthias Maennich2017-08-291-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | note: this depends on - a suitable flex version in PATH (currently 2.6.4) - a suitable version of 'sed' in PATH (e.g. GNU sed) Signed-off-by: Matthias Maennich <matthias@maennich.net>
| * | | | cmFortranLexer: regenerate with flex 2.6.4 (previously 2.6.1)Matthias Maennich2017-08-283-497/+950
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flex 2.6.3 introduces symbol remapping through macro definitions. hence the change appears bigger than one would expect from a minor version upgrade. In addition some manual cleanup that had to be done previously is now obsolete. namely: - the size_t cast of _yybytes_len in yy_scan_bytes (i is now also defined int and not size_t anymore) - the redefinition of yyl within yy_find_action (yyl is now already defined as int) Line number preprocessor directives (#line) were previously generated into the c source file. This actually breaks debugging as debuggers have a hard time finding the original cmFortranLexer.in.l and mapping the current instruction to a meaningful location within that file. The prefix "cmFortran_yy" can already be set as %option directly. For convenience also provide a sed command for all the manual steps that need to be done after generating. Signed-off-by: Matthias Maennich <matthias@maennich.net>
| * | | | cmExprLexer: regenerate with flex 2.6.4 (previously 2.6.1)Matthias Maennich2017-08-283-298/+824
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flex 2.6.3 introduces symbol remapping through macro definitions. hence the change appears bigger than one would expect from a minor version upgrade. In addition some manual cleanup that had to be done previously is now obsolete. namely: - the size_t cast of _yybytes_len in yy_scan_bytes (i is now also defined int and not size_t anymore) - the redefinition of yyl within yy_find_action (yyl is now already defined as int) Line number preprocessor directives (#line) were previously generated into the c source file. This actually breaks debugging as debuggers have a hard time finding the original cmExprLexer.in.l and mapping the current instruction to a meaningful location within that file. The prefix "cmExpr_yy" can already be set as %option directly. For convenience also provide a sed command for all the manual steps that need to be done after generating. Signed-off-by: Matthias Maennich <matthias@maennich.net>
| * | | | cmDependsJavaLexer: regenerate with flex 2.6.4 (previously 2.6.1)Matthias Maennich2017-08-283-395/+824
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flex 2.6.3 introduces symbol remapping through macro definitions. hence the change appears bigger than one would expect from a minor version upgrade. In addition some manual cleanup that had to be done previously is now obsolete. namely: - the size_t cast of _yybytes_len in yy_scan_bytes (i is now also defined int and not size_t anymore) - the redefinition of yyl within yy_find_action (yyl is now already defined as int) Line number preprocessor directives (#line) were previously generated into the c source file. This actually breaks debugging as debuggers have a hard time finding the original cmDependsJavaLexer.in.l and mapping the current instruction to a meaningful location within that file. The prefix "cmDependsJava_yy" can already be set as %option directly. For convenience also provide a sed command for all the manual steps that need to be done after generating. Signed-off-by: Matthias Maennich <matthias@maennich.net>
| * | | | cmCommandArgumentLexer: regenerate with flex 2.6.4 (previously 2.6.1)Matthias Maennich2017-08-283-300/+823
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flex 2.6.3 introduces symbol remapping through macro definitions. hence the change appears bigger than one would expect from a minor version upgrade. In addition some manual cleanup that had to be done previously is now obsolete. namely: - the size_t cast of _yybytes_len in yy_scan_bytes (i is now also defined int and not size_t anymore) - the redefinition of yyl within yy_find_action (yyl is now already defined as int) Line number preprocessor directives (#line) were previously generated into the c source file. This actually breaks debugging as debuggers have a hard time finding the original cmCommandArgumentLexer.in.l and mapping the current instruction to a meaningful location within that file. The prefix "cmCommandArgument_yy" can already be set as %option directly. For convenience also provide a sed command for all the manual steps that need to be done after generating. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* | | | | Merge topic 'cstyle-casts'Daniel Pfeifer2017-08-3033-93/+99
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 190e3825 Replace C-style casts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1176
| * | | | | Replace C-style castsDaniel Pfeifer2017-08-2733-93/+99
| | | | | |
* | | | | | Merge topic 'bootstrap-std'Daniel Pfeifer2017-08-301-2/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4a275f63 bootstrap: Require compiler mode aware of C++11 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1200
| * | | | | | bootstrap: Require compiler mode aware of C++11Brad King2017-08-291-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some compilers have enough features enabled in their default modes to pass our simple C++11 unique_ptr check but do not enable enough to build CMake. Poison this case so that we choose one of the explicit `-std=` options for such compilers.
* | | | | | | CMake Nightly Date StampKitware Robot2017-08-301-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge branch 'release-3.9'Brad King2017-08-290-0/+0
|\ \ \ \ \ \
| * \ \ \ \ \ Merge branch 'revert-xcode-9-new-buildsystem-support' into release-3.9Brad King2017-08-242-13/+5
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1183
* | | | | | | | CMake Nightly Date StampKitware Robot2017-08-291-1/+1
| |_|_|_|/ / / |/| | | | | |
* | | | | | | Merge topic 'lexer'Brad King2017-08-282-278/+435
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef41bf85 cmListFileLexer: regenerate with flex 2.6.4 (previously 2.6.1) 9cacb0cb cmListFileLexer: fix 'bail out on seek-errors' also in original file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1185
| * | | | | | | cmListFileLexer: regenerate with flex 2.6.4 (previously 2.6.1)Matthias Maennich2017-08-252-276/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flex 2.6.3 introduces symbol remapping through macro definitions. hence the change appears bigger than one would expect from a minor version upgrade. In addition some manual cleanup that had to be done previously is now obsolete. namely: - the size_t cast of _yybytes_len in yy_scan_bytes (i is now also defined int and not size_t anymore) - the redefinition of yyl within yy_find_action (yyl is now already defined as int) Line number preprocessor directives (#line) were previously generated into the c source file. This actually breaks debugging as debuggers have a hard time finding the original cmListFileLexer.in.l and mapping the current instruction to a meaningful location within that file. The prefix "cmListFileLexer_yy" can already be set as %option directly. For convenience also provide a sed command for all the manual steps that need to be done after generating. Signed-off-by: Matthias Maennich <matthias@maennich.net>
| * | | | | | | cmListFileLexer: fix 'bail out on seek-errors' also in original fileMatthias Maennich2017-08-251-2/+6
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit v3.9.0-rc1~502^2 (cmListFileLexer: bail out on seek-errors, 2017-02-19) for bug # 16607 was only applied to the generated file. Also apply the fix now to the original. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* | | | | | | Merge topic 'cpackifw-repositories-directories'Brad King2017-08-284-0/+54
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5fe64511 CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1150
| * | | | | | | CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variableKonstantin Podsvirov2017-08-174-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable to specify additional repositories dirs that will be used to resolve and repack dependent components
* | | | | | | | Merge topic 'FindQt4-do-not-assume-all-libraries-are-frameworks'Brad King2017-08-281-6/+8
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33161f48 FindQt4: Do not assume all libraries are frameworks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1169
| * | | | | | | | FindQt4: Do not assume all libraries are frameworksJean-Christophe Fillion-Robin2017-08-211-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since on MacOSX not all modules are available as "framework" (e.g libQtUiTools.a), the assumption made in "FindQt4.cmake" is not always valid and systematically setting the imported libraries location to framework location is incorrect. This commit increases the robustness of the logic by first checking if the location exists. Fixes #17195
* | | | | | | | | Merge topic 'fix-gnu-to-ms'Brad King2017-08-281-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f362052b GNUToMS: Tolerate existence of a %USERPROFILE%/source directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1164
| * | | | | | | | | GNUToMS: Tolerate existence of a %USERPROFILE%/source directoryAlbert Ziegenhagel2017-08-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VS environment script we load changes the working directory to `%USERPROFILE%/source` if it exists. Set `VSCMD_START_DIR` to tell the script to retain the current working directory.
* | | | | | | | | | Merge topic 'gnu-to-ms-ninja-support'Brad King2017-08-281-1/+10
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d2d7ae07 Ninja: Implement support for GNUToMS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1165
| * | | | | | | | | | Ninja: Implement support for GNUToMSAlbert Ziegenhagel2017-08-251-1/+10
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port the implementation from `cmMakefileTargetGenerator::GetLinkRule`. Fixes: #13870
* | | | | | | | | | Merge topic 'test-fix-vs15-toolset-v90'Brad King2017-08-281-1/+2
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce602feb Tests: Fix RunCMake.BuildDepends on VS 2017 with v90 toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1186
| * | | | | | | | | | Tests: Fix RunCMake.BuildDepends on VS 2017 with v90 toolsetBrad King2017-08-251-1/+2
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MSVC toolsets v100 and below forget to re-link when a manifest changes. Exclude this part of the test case for them.
* | | | | | | | | | CMake Nightly Date StampKitware Robot2017-08-281-1/+1
| |_|_|_|_|_|/ / / |/| | | | | | | |