summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Genex: Add IN_LIST logical operatorMarc Chevrier2018-02-071-0/+26
| | | | Implements #17679
* CMake Nightly Date StampKitware Robot2018-02-071-1/+1
|
* CMake Nightly Date StampKitware Robot2018-02-061-1/+1
|
* Begin post-3.11 developmentBrad King2018-02-051-2/+2
|
* CMake 3.11.0-rc1 version updateBrad King2018-02-051-3/+3
|
* Merge topic 'autogen-improve-multi-config'Brad King2018-02-058-471/+421
|\ | | | | | | | | | | | | a8ee7406 Autogen: Improved multi-config include scheme Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1735
| * Autogen: Improved multi-config include schemeSebastian Holtermann2018-02-028-471/+421
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For multi configuration generators AUTOMOC generates the moc files that are included in `mocs_compilation.cpp` in `AUTOGEN_BUILD_DIR/include_$<CONFIG>/`. By doing so each configuration reads different moc files when compiling `mocs_compilation.cpp`. Since we do not (need to) rewrite `mocs_compilation.cpp` on a configuration change anymore, the files also does not need to be recompiled anymore. Not having to rewrite and recompile `mocs_compilation.cpp` on a configuration change anymore was the main objective of this patch. In a similar fashion AUTORCC generates a `qrc_BASE_CMAKE.cpp` file below `AUTOGEN_BUILD_DIR/include_$<CONFIG>/` and `qrc_BASE.cpp` becomes a mere wrapper that includes this actuall rcc output file (when using multi configuration generators). The template files `Modules/AutoRccInfo.cmake.in` and `Modules/AutogenInfo.cmake.in` were removed in favor of writing the info `.cmake` files manually. Closes #17230
* | Merge topic 'vs-static-ConvertToWindowsSlash'Brad King2018-02-052-51/+52
|\ \ | | | | | | | | | | | | | | | | | | 6d148d6d cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1741
| * | cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash()Vitaly Stakhovsky2018-02-022-51/+52
| |/ | | | | | | It is no longer used outside this class, so its scope can be limited to file.
* | CMake Nightly Date StampKitware Robot2018-02-051-1/+1
| |
* | CMake Nightly Date StampKitware Robot2018-02-041-1/+1
| |
* | CMake Nightly Date StampKitware Robot2018-02-031-1/+1
| |
* | Merge topic 'simplify-ccg-converter'Brad King2018-02-021-3/+1
|\ \ | | | | | | | | | | | | | | | | | | df1693bd cmCustomCommandGenerator: Simplify cmOutputConverter access Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1738
| * | cmCustomCommandGenerator: Simplify cmOutputConverter accessBrad King2018-02-011-3/+1
| |/ | | | | | | | | | | | | | | | | | | In commit v3.4.0-rc1~480^2~3 (cmCustomCommandGenerator: Port to cmOutputConverter, 2015-06-04), cmCustomCommandGenerator's access to the local generator was removed so it needed to construct its own cmOutputConverter instance. Access to the local generator was then restored by commit v3.4.0-rc1~285^2~21 (cmCustomCommandGenerator: Require cmLocalGenerator in API, 2015-07-25), so now we can use its cmOutputConverter base class methods directly.
* | Merge topic 'ninja-unused-device-link'Brad King2018-02-021-28/+0
|\ \ | | | | | | | | | | | | | | | | | | 20676cba Ninja: Remove unused device link line code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1737
| * | Ninja: Remove unused device link line codeBrad King2018-02-011-28/+0
| |/ | | | | | | | | | | | | | | Remove the `PRE_LINK` and `POST_BUILD` variables. They are not referenced by `WriteDeviceLinkRule`. Remove the `byproducts` local variable from `WriteDeviceLinkStatement` and all the code populating it. We never used the result.
* | Merge topic 'update-kwsys'Brad King2018-02-023-98/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | be46f9fb Merge branch 'upstream-KWSys' into update-kwsys 854feacc KWSys 2018-02-01 (04fcc449) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1736
| * | Merge branch 'upstream-KWSys' into update-kwsysBrad King2018-02-013-98/+89
| |/ | | | | | | | | * upstream-KWSys: KWSys 2018-02-01 (04fcc449)
* | CMake Nightly Date StampKitware Robot2018-02-021-1/+1
|/
* Merge topic 'std-string-apis'Brad King2018-02-01120-506/+470
|\ | | | | | | | | | | | | 653b8946 Reduce raw string pointers usage. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1729
| * Reduce raw string pointers usage.Pavel Solodovnikov2018-01-31120-507/+471
| | | | | | | | | | | | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* | Merge topic 'perf-from-callgrind'Brad King2018-02-017-69/+146
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 901c4a1e cmExpandedCommandArgument: add an overload for const char* 88ed556d cmGeneratorTarget: make keyword strings const 14a13d30 cmGeneratorExpressionLexer: only tokenize strings with a '$' f2b8d67f cmTarget: use static strings for special property names 6dfd0f92 cmGeneratorExpressionNode: avoid some strlen in $<TARGET_PROPERTY> f9235fd4 cmAddCustomCommandCommand: use std::string const& for FileIsFullPath c0e7a137 cmAddCustomCommandCommand: store keywords in strings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1689
| * | cmExpandedCommandArgument: add an overload for const char*Ben Boeckel2018-01-312-0/+6
| | | | | | | | | | | | | | | Static string comparisons were causing heap allocations just for a comparison.
| * | cmGeneratorTarget: make keyword strings constBen Boeckel2018-01-311-4/+4
| | |
| * | cmGeneratorExpressionLexer: only tokenize strings with a '$'Ben Boeckel2018-01-311-0/+6
| | | | | | | | | | | | | | | | | | | | | In standard libraries, `std::string::find` is usually implemented using vectorized code. Since the Tokenize method iterates character-by-character, doing an initial check using `find` improves performance.
| * | cmTarget: use static strings for special property namesBen Boeckel2018-01-311-14/+28
| | | | | | | | | | | | | | | Similar to 660769151a7f628f92eb28d77bcae854eaae54c2, the `SetProperty` side is showing up in performance listings due to string comparisons.
| * | cmGeneratorExpressionNode: avoid some strlen in $<TARGET_PROPERTY>Ben Boeckel2018-01-311-1/+2
| | |
| * | cmAddCustomCommandCommand: use std::string const& for FileIsFullPathBen Boeckel2018-01-311-1/+1
| | |
| * | cmAddCustomCommandCommand: store keywords in stringsBen Boeckel2018-01-311-49/+99
| | | | | | | | | | | | | | | | | | | | | Callgrind indicated that `strlen` was being called a lot of times here due to the string comparisons. Since keywords are "sparse" in `add_custom_command`, use a hash comparison to handle keywords and then use strings for comparison since they have a built-in length parameter.
* | | CMake Nightly Date StampKitware Robot2018-02-011-1/+1
| | |
* | | Merge topic 'windows-embed-cmake-gui-version'Brad King2018-01-311-0/+4
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 45f6aa32 Windows: Embed version information into cmake-gui Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1726
| * | Windows: Embed version information into cmake-guiBrad King2018-01-301-0/+4
| | | | | | | | | | | | | | | In commit 5b9da05b7a (Windows: Embed version information into CMake binaries, 2017-10-25) we accidentally left out cmake-gui.
* | | Merge topic 'msvc_cuda_files_use_consistent_obj_names'Brad King2018-01-311-3/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fa583869 CUDA: Use MSVC default pattern for naming object files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1722
| * | | CUDA: Use MSVC default pattern for naming object filesRobert Maynard2018-01-301-3/+14
| |/ / | | | | | | | | | | | | The default that CUDA uses causes failures when you try to embed CUDA obj's into another target.
* | | Merge topic 'generate_speedup'Brad King2018-01-312-29/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aed227fd cmLocalGenerator: change ImportedGeneratorTargets from vector to map 4443adc1 cmLocalGenerator: remove public GetImportedGeneratorTargets Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Attila Krasznahorkay <attila.krasznahorkay@gmail.com> Merge-request: !1717
| * | | cmLocalGenerator: change ImportedGeneratorTargets from vector to mapFrank Winklmeier2018-01-302-24/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For large number of targets significant amount of time is spent in cmLocalGenerator::FindGeneratorTargetToUse, which uses find_if on a vector to locate the given target. Using a map instead of vector for ImportedGeneratorTargets (as done for cmMakefile::ImportedTargets) provides a significant speedup (up to factor of 2).
| * | | cmLocalGenerator: remove public GetImportedGeneratorTargetsFrank Winklmeier2018-01-301-5/+0
| |/ / | | | | | | | | | | | | GetImportedGeneratorTargets is not used anywhere hence remove it to avoid exposing the type of ImportedGeneratorTargets.
* | | Merge topic 'source_group-TREE-args'Brad King2018-01-312-87/+160
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 365e02e7 source_group: Fix TREE argument parsing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1713
| * | | source_group: Fix TREE argument parsingMateusz Janek2018-01-302-87/+160
| | | | | | | | | | | | | | | | Fixes: #17581
* | | | Merge topic 'vs-restore-order'Brad King2018-01-311-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fe66c46 VS: Restore the order of the AdditionalIncludeDirectories tag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1719
| * | | | VS: Restore the order of the AdditionalIncludeDirectories tagVitaly Stakhovsky2018-01-301-2/+2
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Move the `AdditionalIncludeDirectories` tag back to the VS-preferred location in `.vcxproj` files. Fixes: #17691
* | | | Merge topic 'dedup-ComputeObjectFilenames'Brad King2018-01-316-38/+21
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 79f22e84 Makefile,Ninja: De-duplicate ComputeObjectFilenames method Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1715
| * | | | Makefile,Ninja: De-duplicate ComputeObjectFilenames methodBrad King2018-01-296-38/+21
| |/ / / | | | | | | | | | | | | | | | | Move the method implementation up to `cmLocalCommonGenerator` to avoid duplicating it in each generator.
* | | | CMake Nightly Date StampKitware Robot2018-01-311-1/+1
| |_|/ |/| |
* | | Merge topic 'vcxproj-DebugInformationFormat-newline'Brad King2018-01-301-4/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b07b1aa4 VS: Use newline for empty DebugInformationFormat tags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1704
| * | | VS: Use newline for empty DebugInformationFormat tagsRobert Dailey2018-01-261-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, code wrote out empty tags for `<DebugInformationFormat>` like so: <DebugInformationFormat></DebugInformationFormat> This gets corrected by Visual Studio 2017 when saving the solution. The correction appears as: <DebugInformationFormat> </DebugInformationFormat> In the spirit of keeping the XML structure as close to what Visual Studio expects as possible, a newline is inserted after the opening tag in the empty case.
* | | | Merge topic 'xcode-gen-warning'Brad King2018-01-301-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20ca9d8f cmGlobalXCodeGenerator: Avoid -Wconditional-uninitialized warning Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sean McBride <sean@rogue-research.com> Merge-request: !1714
| * | | | cmGlobalXCodeGenerator: Avoid -Wconditional-uninitialized warningBrad King2018-01-291-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Clang incorrectly warns about a case where we initialize a variable inside a condition in such a way that it will always be initialized before we use it. Simply initialize the variable when defining it to silence the warning.
* | | | CMake Nightly Date StampKitware Robot2018-01-301-1/+1
|/ / /
* | | Merge topic 'reduce-temporaries'Brad King2018-01-2969-314/+302
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c85bb007 Reduce allocation of temporary values on heap. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1698