| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Merge-request: !1950
|
| |
| |
| |
| |
| |
| |
| |
| | |
In commit v3.11.0-rc1~68^2 (CPack: accept --trace and --trace-expand,
2017-12-09) a nullptr dereference was added that occurs when
`cpack -G NotAGenerator` is invoked. Add the needed condition.
Fixes: #17900
|
|\ \
| | |
| | |
| | | |
Merge-request: !1944
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Some code paths in `ExpandVariablesInString{New,Old}` were not checking
the `filename` parameter for a null pointer, but this can happen when
using the above flags together. Add the checks and a test case.
Fixes: #17896
|
| |
| |
| |
| |
| |
| |
| |
| | |
The output of moc/uic/rcc used to be discarded unless
the program failed. This lets moc/uic/rcc print their
output to stdout even on success.
Closes #17860
|
| |
| |
| |
| |
| |
| |
| | |
This adds a dedicated mutex for file reading and writing to
cmQtAutoGenerator::FileSystem. The purpose of the change is
to avoid that long files reads block cmsys based path computations,
which are protected by an other mutex.
|
| |
| |
| |
| |
| | |
Closes #17861
Closes #17862
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| | |
Merge-request: !1893
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactoring in commit v3.9.0-rc1~156^2 (c++: prefer vectors over lists,
2017-05-04) switched `cmCTestSVN::Repositories` from `std::list` to
`std::vector`. This can cause re-allocation when svn externals are
processed and break the `RootInfo` pointer that is supposed to point at
the first repository element. Switch back to `std::list` so that the
address remains stable.
Fixes: #17854
|
| |
| |
| |
| |
| |
| |
| | |
When checking for a Windows-style leading path, do not read past the
null terminator.
Issue: #17854
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Revert commit v3.8.0-rc1~305^2 (Remove CTestTestfile.cmake when BUILD_TESTING
is OFF, 2016-11-14) again. We reverted it once in commit v3.8.0-rc3~22^2
(Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF", 2017-03-06) but
it was accidentally restored by commit v3.11.0-rc1~387^2 (server: add
"ctestInfo" request to get test info, 2017-10-25), perhaps due to conflict
resolution during rebase.
We cannot remove `CTestTestfile.cmake` when testing is off because it breaks
projects that never enable testing but create their own `CTestTestfile.cmake`
manually instead. Revert the change again and add a test case.
|
| |
|
|\
| |
| |
| | |
Merge-request: !1844
|
| |
| |
| |
| |
| |
| |
| |
| | |
When evaluating include directories during export to a `try_compile`
test project, thread the compile language through to the generator
expression evaluator so it can support `$<COMPILE_LANGUAGE:...>`.
Issue: #17811
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating
`INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the
compile language through to the generator expression evaluator so
that it can support `$<COMPILE_LANGUAGE:...>`.
Fixes: #17811
|
|\ \
| |/
|/|
| | |
Merge-request: !1836
|
| |
| |
| |
| |
| | |
A mistyped length calculation will memset across stack frame when
the user's terminal width is larger than 270.
|
| | |
|
| |\
| | |
| | |
| | | |
Merge-request: !1650
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`. In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`. This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed. If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.
This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.
This is the fix for CMake 3.10.1.
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !1606
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the AutogenInfo.cmake file the separator for nested lists was
`@LSEP@` which led to a speed regression because the `@` character
triggered an (unsuccessful) expression evaluation.
By setting the policy version of the CMake instance in the
`_autogen` target to 3.9, the OLD `@` evaluating behavior
controlled by policy CMP0053 is disabled.
Also the nested lists separator string is changed to `<<<S>>>`,
which solves the problem twofold.
Issue: #17570
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1830
|
| | | |
| | | |
| | | |
| | | |
| | | | |
* upstream-KWSys:
KWSys 2018-03-07 (2ad561e7)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Calling `std::string::front()` on an empty string results
in an undefined behavior by the C++ standard.
In gcc8 it causes an assertion to fail.
This adds a check to `AUTOGEN` if a file to read is empty
and in case avoids the use of an empty `std::string` buffer.
Closes #17793
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1790
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled
generate only the root-level ZERO_CHECK target so targets in
subdirectories pick up the root generator target of ZERO_CHECK.
For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not
enabled more investigation and a proper and final fix is still needed.
Issue: 14297
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
Merge-request: !1789
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some environments require linking to thread libraries for `std::thread`.
Express this direct dependency of CMakeLib explicitly. Previously this
was done indirectly through our bundled libuv, but that does not work
when using a system libuv.
Fixes: #17757
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1766
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `LINK_ONLY` generator expression is used to represent private
dependencies of static libraries in their `INTERFACE_LINK_LIBRARIES`
property value. Fix evaluation of generator expressions during export
to support the `LINK_ONLY` genex. Extend the RunCMake.AndroidMK test
with a case for this.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
When exporting `INTERFACE_LINK_LIBRARIES`, we must evaluate generator
expressions first, before expanding the `;` list, in case they contain
or generate semicolons.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
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.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1757
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #17711
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|