| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Merge-request: !3863
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "all" target in each directory is supposed to have targets from that
directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in
its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL
from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the
participation of a target in "all" independent of context. Revert much
of the logic change from that commit to restore the old behavior. Then
re-implement the behavior intended by the commit to keep its test
working. Extend the test to cover the old behavior too.
Fixes: #19753
|
| | | |
|
| | | |
|
| | |\
| | | |
| | | |
| | | | |
Merge-request: !3388
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert the main logic change from commit 827da1119e (Makefiles: Make
build root targets "all", "clean" and "preinstall" recursive,
2019-05-17, v3.15.0-rc1~96^2~2) for the "all" and "preinstall" targets.
The commit cleaned up the Makefile generator to use the same logic for
the "all" target in the top-level directory as for subdirectories. It
exposed a long-existing bug that caused the "all" target in a
subdirectory to include the "all" targets from sub-subdirectories even
if they are marked `EXCLUDE_FROM_ALL`. The `Tests/SubDir` test should
fail but the problem is currently covered up by another bug introduced
by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets,
2019-01-15, v3.14.0-rc1~83^2) that causes the "all" targets in
`EXCLUDE_FROM_ALL` subdirectories to be empty.
Revert the top-level "all" and "preinstall" targets to the old approach
to prepare to fix the latter bug without exposing the long-existing bug
at the top-level. Leave the "clean" target in the new approach because
it does not honor `EXCLUDE_FROM_ALL` anyway.
Issue: #19753
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
VS 16.4 introduces an additional check on `CustomBuild` rules that warns
if the outputs of the command are not created. However, CMake supports
marking outputs with the `SYMBOLIC` property to indicate that they will
not actually be generated. That property is used by Makefile and Ninja
generators but has not been needed by the VS generators before. Teach
the VS generator to disable `VerifyInputsAndOutputsExist` in custom
build rules that have a symbolic output.
Fixes: #19737
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3760
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With CMP0037 OLD behavior, executable and library target names may
contain a slash. Avoid constructing file names with slashes.
Fixes: #19653
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3751
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #19651
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3745
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a case of use after move of a `std::shared_ptr` in `AUTOUIC`.
It triggered a segfault, when the error message for colliding `ui_*.h`
includes in different files was computed.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3740
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The definition of `CPU_ZERO` requires `<string.h>` to be included
explicitly for `memset`. Since IWYU does not agree on other Linux
platforms, use a pragma to silence the warning.
Fixes: #19643
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3741
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Save the value of the compiler id variable in storage we own so that
mutating it based on a policy does not invalidate the local value for
later comparisons. This was identified by Clang AddressSanitizer.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3739
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This enables the support for `ADDITIONAL_CLEAN_FILES` in custom targets
using the ninja generator.
Fixes: #19641
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3719
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #19629
|
|/ / /
| | |
| | |
| | | |
Fixes: #19585
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3653
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to
find a package was fatal even if it was not `REQUIRED`. Fix this and
add a test case.
Fixes: #19557
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3639
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit e89ad0f94e (install: Allow installing targets created in
another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling
`install(TARGETS)` for targets created in another directory. However,
install generators are associated with the directory in which the call
to `install()` appears. This may not be the same directory in which the
target is defined. Record in each target the list of install generators
it has.
Fixes: #19546
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3630
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix the check added in commit 8d93815d20 (source_group command ensures
that FILES arguments are actually files, 2019-04-25, v3.15.0-rc1~195^2)
to convert to an absolute path before checking for existence.
Also simplify the conversion to an absolute path.
Fixes: #19454
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3629
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The mapping for this flag was added by commit 43aa632f57 (VS: Populate
`-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7).
However, it did not do anything because the special logic added by
commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08,
v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from
`ClCompile` to the top level only handled the presence of the setting
and not its value. Extend the special logic to carry the value too.
Fixes: #19535
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE
properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for
executables because the `WIN32_EXECUTABLE` property is defined only for
them. Running the check on other target types, particularly those that
do not link such as INTERFACE libraries, violates internal assumptions.
In particular, `GetLinkerLanguage` should not be called on such targets.
Fixes: #19528
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3599
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit a13a5c948e (Replace use of CollapseCombinedPath with
CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now
calls `CollapseFullPath` with a base path that may be relative.
Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with
relative base path, 2019-07-24) to handle such base paths.
This case occurs when a build tree is placed in a directory inside a
source tree such that CMake is willing to generate a relative path from
the build tree to the source tree. Add a test covering this case.
Fixes: #19507
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3591
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support
arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member
`cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized
to the proper size. Fix this and add a test case covering the crash
that could occur with multiple commands where an emulator appears only
in a later command.
Fixes: #19500
Co-Author: Brad King <brad.king@kitware.com>
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3563
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #19489
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3569
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `AssemblerListingLocation` setting in VS project files is meant for
intermediate files created during the build much like object files.
When the VS 7 generator was first under development, commit 49aebe6c99
(new arch, 2002-09-04) placed both object files and the ASM list
location in the same directory. Later commit f9aef0e422 (Generator now
creates a separate intermediate files directory for each target,
2005-07-27) moved the object files to a per-target directory but the
ASM list location was not moved with them. Move it now.
Fixes: #19480
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When building Swift executables and libraries which import a module, an
implicit link will be added by the driver. Because this links by name
rather than path, the library search path needs to be provided to
indicate where to find the library. For all local dependencies, add the
library paths for the targets when linking. This ensures that you can
link against local libraries without explicitly setting a library path.
Fixes: #19304
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changes the behaviour of the generators to use a per-language
library search path flag. This is needed for multi-language projects
with different compilers (e.g. cl + gfortran). Since the adjusted
variable has been part of the user settings, we control this based on a
policy.
Fixes: #19307
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3557
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The module mode fallback added by commit 22e65d10c1 (find_package: Fixed
CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13,
v3.15.0-rc2~6^2) should not be used unless the `find_package` call
allows module mode. Doing so can lead to infinite recursion if a find
module tries to call config mode with `find_package(... NO_MODULE)`.
Fix the logic and add a test case.
Fixes: #19478
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3537
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit 3a53005f7d (Build object library targets in VS, 2012-03-12,
v2.8.8~29^2~13) we updated the condition for unicode but accidentally
left out the SBCS case support for object libraries.
Fixes: #19469
|