cbcf6458 cmServerProtocol: Do not move into json::Value::append()
91417e4c cmServerProtocol: pass cmBacktraceRange by value
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1143
CMake's copy of json-cpp is not aware of rvalues yet. It is confusing
to pass the result of std::move to a function that takes a const&
because no move will actually happen. This change may be reverted once
CMake upgrades to a new version of json-cpp.
When encountering an `#include "<PATH>ui_<BASE>.h"` statement,
search for `<BASE>.ui` in
- <SOURCE_DIR>/<BASE>.ui
- <SOURCE_DIR>/<PATH><BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
In CMake 3.8.2 the lookup list was
- <SOURCE_DIR>/<BASE>.ui
In CMake 3.9.[01] the lookup list was
- <SOURCE_DIR>/<PATH><BASE.ui>
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
Closes#17168
15ef2728 Autogen: Add test for OBJECT libraries
362f9bd7 Autogen: Merge and remove redundant function calls
952fc65d Autogen: Clear sources meta data cache
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1120
Adds cmGeneratorTarget::clearSourcesCache() which clears the cache
of precomputed sources lists and object names. The cache gets
recomputed on demand.
Clearing the cache is necessary in case an OBJECT library
gets a source added after a target (ORIGIN) that includes it
computed it's external sources cache.
This may happen in AUTOMOC when ORIGIN is processed before the
OBJECT library which gets a mocs_compilation.cpp file added.
Closes#17152Closes#17139Closes#17085Closes#15967
When `CXX_STANDARD` is not at least 14 or 17, features enabled by the
compiler for those standards should not be reported as existing by the
`COMPILE_FEATURES` genex. Fix the implementation and add a test.
Disable the feature added by commit v3.9.0-rc1~71^2~2 (find_*: Add a new
PackageRoot search path group, 2017-05-03) and remove documentation
added by commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search
path group, 2017-05-03). Unfortunately the name `<pkg>_ROOT` may
already be set by projects for their own incompatible purposes. Disable
the behavior change for now to fix the regression for CMake 3.9. We can
restore it later with a policy.
In order to keep the implementation and tests working, add an
undocumented variable we can use in the tests to enable the behavior
before the policy is introduced.
Fixes: #17144
The libuv library provides many useful platform abstractions and better
process management than KWSys. We'd like to use it everywhere instead
of just in the server mode. Drop the `CMAKE_USE_LIBUV` option and use
libuv everywhere except during bootstrap.
The **AUTOGEN** include directory was always passed to the compiler but
only generated on demand. To avoid compiler complaints when using
`-Wmissing-include-dirs` make sure the directory gets created always.
Closes#17147
Since launchers show the entire stderr/stdout for a command and only
skip it if all of the lines are suppressed, it can be hard to tell if
individual suppressions are working. Mark up the output reported to
CDash with a prefix for each line indicating whether it was a matched or
suppressed warning. Lines that are suppressed are prefixed with
`[CTest: warning suppressed]` and lines that match the warning
expression are prefixed with `[CTest: warning matched]`. This should
make it easier for people to add suppressions as they will know what
they need to match and what they have already suppressed. This is an
issue because if there is more than one warning in a single compiler
output you have to suppress all of them before it will go away.
5150c352 Autogen: Add release notes for per-config include dir
ccc98b5c Autogen: Update documentation for per-config include dir
a13716a5 Autogen: Enable per-config support
6d83757f Autogen: Generate rcc wrapper file on demand
74a1b8eb Autogen: Fix configuration suffix initialization
ddd6f0db Autogen: Add per-config suffix to moc_predefs.h
e2c9cf12 Autogen: Remove per-config suffix for mocs_compilations.cpp
3a4840e0 Autogen: Make test per-config include directory compatible
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1107
For multi configuration generators remove per-config
qrc_FOO_$<CONFIG>.cpp source file support.
Instead use a single source file qrc_FOO.cpp which is a wrapper
that includes the actual rcc generated qrc_FOO_CONFIG.cpp file.
This way, after a repeated configuration change, only the wrapper file
qrc_FOO.cpp must be regenerated to include the appropriate
qrc_FOO_CONFIG.cpp file.