| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Implements #17679
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
a8ee7406 Autogen: Improved multi-config include scheme
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1735
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
6d148d6d cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1741
|
| |/
| |
| |
| | |
It is no longer used outside this class, so its scope can be limited to file.
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
df1693bd cmCustomCommandGenerator: Simplify cmOutputConverter access
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1738
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
20676cba Ninja: Remove unused device link line code
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1737
|
| |/
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
be46f9fb Merge branch 'upstream-KWSys' into update-kwsys
854feacc KWSys 2018-02-01 (04fcc449)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1736
|
| |/
| |
| |
| |
| | |
* upstream-KWSys:
KWSys 2018-02-01 (04fcc449)
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
653b8946 Reduce raw string pointers usage.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1729
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | | |
Static string comparisons were causing heap allocations just for a
comparison.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
Similar to 660769151a7f628f92eb28d77bcae854eaae54c2, the `SetProperty`
side is showing up in performance listings due to string comparisons.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
45f6aa32 Windows: Embed version information into cmake-gui
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1726
|
| | |
| | |
| | |
| | |
| | | |
In commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25) we accidentally left out cmake-gui.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
fa583869 CUDA: Use MSVC default pattern for naming object files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1722
|
| |/ /
| | |
| | |
| | |
| | | |
The default that CUDA uses causes failures when you try to embed
CUDA obj's into another target.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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).
|
| |/ /
| | |
| | |
| | |
| | | |
GetImportedGeneratorTargets is not used anywhere hence remove it
to avoid exposing the type of ImportedGeneratorTargets.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
365e02e7 source_group: Fix TREE argument parsing
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1713
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #17581
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1fe66c46 VS: Restore the order of the AdditionalIncludeDirectories tag
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1719
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move the `AdditionalIncludeDirectories` tag back to the VS-preferred
location in `.vcxproj` files.
Fixes: #17691
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
79f22e84 Makefile,Ninja: De-duplicate ComputeObjectFilenames method
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1715
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Move the method implementation up to `cmLocalCommonGenerator`
to avoid duplicating it in each generator.
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
b07b1aa4 VS: Use newline for empty DebugInformationFormat tags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1704
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
20ca9d8f cmGlobalXCodeGenerator: Avoid -Wconditional-uninitialized warning
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sean McBride <sean@rogue-research.com>
Merge-request: !1714
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c85bb007 Reduce allocation of temporary values on heap.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1698
|