| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Since VS 2017's v141 toolset there is no longer a simple equation to
calculate the redist name, dll version, and VS IDE version from just the
MSVC toolset version. Refactor the logic to use hard-coded values and
warn when a new version is not supported.
Fixes: #19125
|
|
|
|
|
|
|
|
| |
This was forgotten in commit 626c51f47b (VS: Update for Visual Studio
2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) when the toolset was
first renumbered to `v142`.
Issue: #19125
|
| |
|
|\
| |
| |
| | |
Merge-request: !3157
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The implicit include directory extraction added by commit 5990ecb741
(Compute implicit include directories from compiler output, 2018-12-07,
v3.14.0-rc1~108^2) leaves paths like `/usr/lib/../include` unchanged.
Fix the logic to canonicalize such paths (e.g. to `/usr/include`)
as we do for implicit link directories already. This is important
to ensure the set of implicit directories is represented in the same
form as the include directories that will be compared to them.
Issue: #19095
|
|\ \
| | |
| | |
| | | |
Merge-request: !3159
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `cmLocalGenerator::GetIncludeDirectoriesImplicit` method is called
by `cmQtAutoGenInitializer` to get the compiler's list of implicit
include directories. Since commit 557b2d6e65 (Fix regression in
-I/usr/include exclusion logic, 2019-02-13, v3.14.0-rc2~6^2~2) the
method hard-codes exclusion of `/usr/include` for historical reasons.
However, it should not be reported as a real implicit include directory
unless the compiler really has it.
Refactor the logic to distinguish the hard-coded exclusion of
`/usr/include` from the real list of implicit include directories.
Fixes: #19100
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3160
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Both commit 88ecfd8ba1 (CPackIFW: Add some options, 2016-11-11,
v3.8.0-rc1~248^2) and commit e5089c562c (CPackIFW: Add some options,
2017-01-24, v3.8.0-rc1~53^2) added some options to this macro's
documentation and implementation, but the actual processing of the
parsed options was never added. Add it now.
Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
|
|\ \ \
| |_|/
|/| |
| | | |
Merge-request: !3145
|
| |/
| |
| |
| |
| |
| |
| | |
Backport KWSys commit 92334e7670 (SystemTools: CopyFileAlways: avoid
copying file over self, 2019-03-25) to the CMake 3.14 release branch.
Fixes: #19075
|
|\ \
| | |
| | |
| | | |
Merge-request: !3153
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our documented standard for find module variable names is to match the
case of the find module package name. This was overlooked when the
module was added by commit 84e7920b3a (FindFontconfig: Add module to
find Fontconfig, 2018-09-27, v3.14.0-rc1~523^2).
The module was released with the upper case names in CMake 3.14.0, so
fix it to have camel case names in 3.14.1. This is incompatible but
anyone using a given release series should be using the latest patch on
it and we've made breaking fixups on newly released features like this
before.
Reported-by: Christophe Giboudeaux <christophe@krop.fr>
Fixes: #19094
|
|\ \
| | |
| | |
| | | |
Merge-request: !3147
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the current source file is not found the FilePath variable was left
with the previous path content. In case the previous file had less lines
than the current one and there are 'line' entries for the current one
with higher number we ended up in a buffer overflow while indexing the
previous file entry with a line number higher. By clearing the
FilePath, the empty() guard triggers correctly on an empty path and it
avoid modifying the wrong data.
|
|\ \
| | |
| | |
| | | |
Merge-request: !3151
|
| |/
| |
| |
| |
| |
| |
| | |
The `PROMPT` environment variable affects nvcc's output. Fix
our parsing of that output to tolerate square brackets.
Fixes: #19089
|
|\ \
| | |
| | |
| | | |
Merge-request: !3140
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Any `include_directories()` calls in toolchain files are used during our
ABI detection step even though it does not include any system headers.
Since commit 5990ecb741 (Compute implicit include directories from
compiler output, 2018-12-07, v3.14.0-rc1~108^2), that check is also used
to detect implicit include directories. Any `include_directories()` in
a toolchain file are detected as implicit and later excluded from
explicit specification on compiler command lines, thus breaking the
purpose of the calls in the first place.
Fix the implicit include directory detection step to avoid using paths
from `include_directories()` calls in the toolchain file.
Fixes: #19079
|
|\ \
| | |
| | |
| | | |
Merge-request: !3133
|
| |/
| |
| |
| |
| |
| |
| | |
The policy documentation added by commit fc8955e889 (add_subdirectory:
Run subdirectory install rules in correct order, 2018-10-02,
v3.14.0-rc1~565^2~1) left out our usual sentence about the policy
providing compatibility.
|
|\ \
| | |
| | |
| | | |
Merge-request: !3127
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to ARMCC 5.06 documentation:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472m/chr1359125007083.html
the compiler may define `__GNUC__` in addition to `__ARMCC_VERSION`.
Re-order our preprocessor checks to consider the ARM-specific macro
first so that the ARM compiler is not mistaken for a GNU compiler.
Fixes: #19065
|
|\ \
| | |
| | |
| | | |
Merge-request: !3125
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not process interface libraries in ways that expect build information
to be present internally. This filtering was left out of the extra
generator accidentally when interface libraries were introduced, but it
worked by accident until commit 76ad2ecb50 (Order SYSTEM include
directories after non-system directories, 2018-04-13, v3.12.0-rc1~179^2)
added a code path that was not tolerated.
Fixes: #18363
|
|\ \
| | |
| | |
| | | |
Merge-request: !3105
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit c76c1ea208 (find_program: Consider CWD only for paths with
separator, 2018-05-31, v3.13.0-rc1~413^2) we accidentally convert the
leading `//` to just `/` on results with Windows network paths.
This was caused by `CollapseCombinedPath` being less robust than
`CollapseFullPath`. Restore use of the latter but in a way that
preserves the requirement of the above commit to support candidates that
are themselves absolute.
Fixes: #19049
Issue: #19050
|
|\ \
| | |
| | |
| | | |
Merge-request: !3103
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Ensure interpreter and libraries architecture matches CMake build
configuration.
Update documentation about interpreter constraints.
Fixes: #19024
|
|\ \
| |/
|/|
| | |
Merge-request: !3102
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
In commit 57e48f16f2 (VS: Add Visual Studio 16 2019 generator,
2019-01-09, v3.14.0-rc1~150^2) and commit 0fd742a6ff (VS: Teach VS 2019
generator to select host tools matching host arch, 2019-01-28,
v3.14.0-rc1~63^2) we intended to select the `x64` target architecture
and `x64` host tools by default on x64 host machines. Fix detection
of a x64 host when CMake itself is a 32-bit x86 process.
The KWSys SystemInformation `Is64Bits` member is not set correctly,
which led to this bug. Pending investigation on the KWSys side,
simply test ourselves via `IsWow64Process`.
|
| |
|
|\
| |
| |
| | |
Merge-request: !3090
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit da402a081b (VS: Use MSBuild matching toolset host
architecture, 2019-01-28, v3.14.0-rc1~50^2). Multiple people have
reported that the 64-bit `amd64/msbuild` tool fails in cases that the
32-bit `msbuild` works. Drop our change pending further investigation
and hopefully a fix to VS.
Fixes: #18904, #19037
Issue: #18219
|
|\ \
| |/
|/|
| | |
Merge-request: !3087
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25, v3.11.0-rc1~411^2) our binaries have version
information that prevents a `.msi` downgrade from replacing them by
default. Configure the re-install mode:
* a: reinstall all files regardless of version
* m: rewrite all per-machine registry entries
* u: rewrite all per-user registry entries
* s: reinstall shortcuts and icons
Fixes: #19006
|
| | |
|
|\ \
| | |
| | |
| | | |
Merge-request: !3075
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Require the word "warning" to appear at the start of a line, after
whitespace, or after a `:`. This is the same that CTest launchers use
to match warnings. It avoids matching "warning" inside file paths.
Fixes: #19019
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3071
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit e89ad0f94e (install: Allow installing targets created in
another directory, 2018-06-18, v3.13.0-rc1~407^2) the `install(TARGETS)`
command may find a global-scoped target outside the calling directory.
Ignore an `IMPORTED GLOBAL` target if it is found in this way. Imported
targets cannot be installed, and trying to do so violates internal
invariants.
Fixes: #19022
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3065
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Encode `\n` as ` ` to avoid generating a literal newline inside an
XML attribute. This is more readable and also fixes custom commands in
`.csproj` files with VS 2019 RC.
Fixes: #19001
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3066
|
| | | | |
|
| | | | |
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3052
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3047
|