summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Autogen: Iterate source files only onceSebastian Holtermann2017-09-0710-658/+658
| | | | | | | | | | | | | | This is a large commit that serves multiple purposes - Iterate source files only once and store all extracted information in a cmQtAutogenDigest class that can be reused. This is brings speed improvements because several properties are only evaluated once. More that that it helps to avoid duplication of code with non trivial files property checks. - Fix the Visual Studio generator to use PRE_BUILD when possible. - Convert `for( ... )` loops to C++11 range base loops where possible (cmQtAutogen*.cxx only). - String concatenation optimizations.
* CMake Nightly Date StampKitware Robot2017-09-071-1/+1
|
* Merge topic 'static_cast'Brad King2017-09-064-6/+6
|\ | | | | | | | | | | | | 353ec237 use static_cast<> for casts from void* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1225
| * use static_cast<> for casts from void*Rolf Eike Beer2017-09-014-6/+6
| |
* | Merge topic 'vs-csharp-ref-no-asm'Brad King2017-09-063-0/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * \ Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asmBrad King2017-09-053-0/+23
| |\ \ | | |/ | |/|
| | * VS: Do not reference output assemblies if not possible for CSharp targetMichael Stürmer2017-09-053-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Merge branch 'fix-find-package-mode' into release-3.9Brad King2017-08-291-1/+1
| | |\ | | | | | | | | | | | | Merge-request: !1208
| | * \ Merge branch 'cpack-dmg-iwyu' into release-3.9Brad King2017-08-291-0/+1
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !1206
* | | | | CMake Nightly Date StampKitware Robot2017-09-061-1/+1
| | | | |
* | | | | Merge topic 'update-kwsys'Brad King2017-09-054-10/+82
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbf20178 Merge branch 'upstream-KWSys' into update-kwsys 37760743 KWSys 2017-09-01 (aee0cf59) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1223
| * | | | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2017-09-014-10/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream-KWSys: KWSys 2017-09-01 (aee0cf59)
* | | | | | CMake Nightly Date StampKitware Robot2017-09-051-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2017-09-041-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2017-09-031-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2017-09-021-1/+1
| |/ / / / |/| | | |
* | | | | Merge topic 'server-refactor'Brad King2017-09-017-119/+230
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | server: Added thread check to protect writedataJustin Berger2017-08-313-0/+21
| | | | |
| * | | | server: Protect several fields from potentially pointing to bad memoryJustin Berger2017-08-312-1/+7
| | | | |
| * | | | server: Added assert to monitor uv_run statusJustin Berger2017-08-311-2/+10
| | | | |
| * | | | server: Made connections in a server have a mutex to avoid use after freesJustin Berger2017-08-312-7/+29
| | | | |
| * | | | server: Moved buffer formatting into bufferstrategyJustin Berger2017-08-315-3/+25
| | | | |
| * | | | server: Made stdio connection accept different types of streamsJustin Berger2017-08-313-57/+112
| | | | |
| * | | | server: Remove unused fields / functionsJustin Berger2017-08-312-22/+1
| | | | |
| * | | | server: Fixed minor memory leaksJustin Berger2017-08-311-4/+1
| | | | |
| * | | | server: Fixed mismatched new/delete; added proper shutdown procedureJustin Berger2017-08-316-28/+29
| | | | |
* | | | | Merge topic 'vs-std-cxx17-flag-map'Brad King2017-09-011-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a46024be VS: Add v141 flag table entry for -std:c++17 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1221
| * | | | | VS: Add v141 flag table entry for -std:c++17Brad King2017-08-311-0/+1
| |/ / / / | | | | | | | | | | | | | | | Fixes: #17171
* | | | | Merge topic 'tll-global-unknown-lib'Brad King2017-09-011-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a47a8533 target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1220
| * | | | | target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libsBrad King2017-08-311-0/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | This combination was accidentally rejected. Allow it and add a test. Fixes: #17245
* | | | | Merge topic 'fix-genex-SOURCES'Brad King2017-09-011-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 068cc545 Genex: Fix TARGET_PROPERTY value of SOURCES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1218
| * | | | | Genex: Fix TARGET_PROPERTY value of SOURCESBrad King2017-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | CMake Nightly Date StampKitware Robot2017-09-011-1/+1
| |/ / / / |/| | | |
* | | | | Merge topic 'cxx11-clang-format'Brad King2017-08-3146-106/+105
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4022b286 clang-tidy: blacklist "modernize" checks 2b4c32c9 clang-format: format all code as Cpp11 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1191
| * | | | | clang-format: format all code as Cpp11Daniel Pfeifer2017-08-3046-106/+105
| | | | | |
* | | | | | Merge topic 'lexer-null'Brad King2017-08-312-98/+116
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14d9a11b ListFileLexer: fix heap-buffer-overflow on malicious input Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1153
| * | | | | | ListFileLexer: fix heap-buffer-overflow on malicious inputMatthias Maennich2017-08-302-98/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | CMake Nightly Date StampKitware Robot2017-08-311-1/+1
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'add-cppcheck'Brad King2017-08-304-11/+82
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 311b7b1a Add properties to run cppcheck along with the compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1147
| * | | | | | Add properties to run cppcheck along with the compilerBill Hoffman2017-08-304-11/+82
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge topic 'fix-find-package-mode'Brad King2017-08-301-1/+1
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 18454ea4 cmake: Fix --find-package mode with imported targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1208
| * | | | | cmake: Fix --find-package mode with imported targetsBrad King2017-08-291-1/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge topic 'cpack-dmg-iwyu'Brad King2017-08-301-0/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 8c51dbdd cmCPackDragNDropGenerator: Add missing include Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1206
| * | | | cmCPackDragNDropGenerator: Add missing includeBrad King2017-08-291-0/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | We use `std::sort` and so must include `<algorithm>`. Issue: #17233
* | | | Merge topic 'codeblocks-dedup'Brad King2017-08-301-6/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 053d3141 CodeBlocks: Avoid listing files multiple times Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1160
| * | | | CodeBlocks: Avoid listing files multiple timesAlexandr (Sagrer) Gridnev2017-08-301-6/+7
| | |/ / | |/| | | | | | | | | | Fixes: #17187
* | | | install: Avoid CMP0054 warning in generated install scriptBrad King2017-08-301-2/+2
|/ / / | | | | | | | | | | | | | | | This could happen when an install component is called `TEST`. Fixes: #17211
* | | Merge topic 'lexer'Daniel Pfeifer2017-08-3012-1490/+3421
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | 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>