| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
193082a3 MAINT: Misc. typos
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1758
|
| |
| |
| |
| | |
Found via `codespell -q 3 -I ../cmake-whitelist.txt`.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
4349393d cmGlobalXCodeGenerator: Properly initialize TARGETS variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1757
|
| | |
| | |
| | |
| | | |
Fixes: #17711
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c85ef9c3 Autogen: Overwrite info files when changed only
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1753
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
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.
|