We don't need to save the `CMAKE_GENERATOR_{PLATFORM,TOOLSET}` values
from the cache back into the `cmake` instance. They were used only to
propagate the settings into `cmake` instances for `try_compile`, but we
already have their values in the `cmMakefile`'s variables anyway. In
fact those variables are the ones we actually give to the generators.
In commit v3.9.2~3^2 (FindBoost: Revert "Simplify search in lists.",
2017-09-05) we forgot to also revert commit commit v3.9.1~15^2
(FindBoost: pop policy stack before returning, 2017-07-24) which had
been made as a fixup to the original commit.
Fixes: #17309
Starting in CUDA 9 the default compilation mode is C++14, and you need
to explicitly enable C++98/03 mode.
While at it, document `14` among the values for `CUDA_STANDARD`. This
was accidentally left out of commit v3.9.0-rc1~118^2 (CUDA: Add support
for the C++14 standard flag, 2017-05-11).
This is needed to correctly parse Windows Installer "wiproj" projects,
that by default contain "ProjectGUID" tags with GUID values without
surrounding curly brackets. Otherwise CMake truncates the first & last
character from the GUID value for these projects.
Prior to commit v3.4.0-rc1~264^2~1 (GetPrerequisites: Add error checks
for execute_process() calls, 2015-07-29), `get_prerequisites` would
simply warn on a missing binary and not update the result list at all.
That commit accidentally made the case an error. This was fixed by
commit v3.8.0-rc1~110^2 (GetPrerequisites: Do not fail on files we
cannot find, 2017-01-10), but the fix also cleared the result list.
Clearing the list is incorrect because it is supposed to be able to
accumulate results over multiple calls.
Remove the list clearing behavior to restore the original behavior on a
missing binary.
Fixes: #17306
Since commit v3.0.0-rc1~448^2 (Ninja: use deps = gcc/msvc feature,
2013-10-18) the value of the `DEP_FILE` binding already includes the
needed quoting to refer to the file. However, that commit forgot to
update one of the `$DEP_FILE` references to not be quoted anymore.
The offending code path currently only affects cmcldeps for RC.
Remove the extra quoting now.
Fixes: #17298
Find GLVND components if available. Add `GLX` and `EGL` options for
COMPONENTS that allow requesting these libraries explicitly. Introduce
new import targets for these windowing-system-specific libraries.
On a GLVND system, populate the legacy `OPENGL_LIBRARIES` variable and
the `OpenGL::GL` target using the `OpenGL` and `GLX` components. On
non-GLVND systems, continue to use the legacy `GL` library and simply do
not provide the GLVND components. Application code can choose to adapt
based on the availability of GLVND components as imported targets.
The change in commit 3b95ab5693 (Performance: Improve efficiency of
source file lookup in cmMakefile, 2017-08-17) broke some legacy behavior
of source file properties in which the order sources are first resolved
with extensions affects how setting properties without extensions works.
It has been reverted for now, but the discovery was made after merging
because the broken case was not covered by our test suite.
Add a test case representing the legacy behavior.
Issue: #15208
This reverts commit 3b95ab569345028a1a8fe521d5ecd81fa97f2653.
It regressed some legacy source file property behavior.
Revert pending further investigation.
0332ec72 cmCPluginAPI: remove explicit casts to void*
cf399036 cmCPluginAPI: do not check pointer before calling free()
6e2b1853 cmCPluginAPI: use strdup() instead of open coding it
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1305
We run extra tools during linking on Windows to deal with manifests.
Report more information when these tools fail. For example, if the
Windows SDK is not installed with VS then `rc.exe` will be missing.