summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* install,export: Maybe transform OBJECT libraries to INTERFACE librariesBrad King2018-02-2813-46/+77
| | | | | | | | | | | Teach the `install` and `export` commands to support installing and exporting `OBJECT` libraries without their object files. Transform them to `INTERFACE` libraries in such cases. For `install(TARGETS)`, activate this when no destination for the object files is specified. For `export`, activate this only under Xcode with multiple architectures when we have no well-defined object file locations to give to clients.
* CMake Nightly Date StampKitware Robot2018-02-141-1/+1
|
* Merge topic 'more-misc-typos'Brad King2018-02-134-7/+7
|\ | | | | | | | | | | | | 193082a3 MAINT: Misc. typos Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1758
| * MAINT: Misc. typosluz.paz2018-02-134-7/+7
| | | | | | | | Found via `codespell -q 3 -I ../cmake-whitelist.txt`.
* | Merge topic '17711-reset-xcode-target-var'Brad King2018-02-131-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 4349393d cmGlobalXCodeGenerator: Properly initialize TARGETS variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1757
| * | cmGlobalXCodeGenerator: Properly initialize TARGETS variableGregor Jasny2018-02-131-0/+1
| | | | | | | | | | | | Fixes: #17711
* | | Merge topic 'autogen-write-on-change-only'Brad King2018-02-131-34/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c85ef9c3 Autogen: Overwrite info files when changed only Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1753
| * | | Autogen: Overwrite info files when changed onlySebastian Holtermann2018-02-061-34/+12
| |/ / | | | | | | | | | | | | | | | Check if the content of the AUTOMOC/UIC/RCC info file will change before overwriting it. This avoids unnecessary AUTORCC rebuilds when AUTORCC unrelated CMake settings change.
* | | CMake Nightly Date StampKitware Robot2018-02-131-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2018-02-121-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2018-02-111-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2018-02-101-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2018-02-091-1/+1
| |/ |/|
* | CMake Nightly Date StampKitware Robot2018-02-081-1/+1
| |
* | 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.