The IPO flag logic was added to `AddLanguageFlags` based on my advice.
However, this method should really only be about `CMAKE_<LANG>_FLAGS*`
variables. Move the IPO logic out to its call sites.
983533a4b8 Record when C compilers have gained full support for 90,99,11
f92ccbc306 CompileFeatures: memoize C compilers with full language level support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3146
When a dependency was already found, find_dependency did not search it
again. While this works in basic case, it does not when there are
components as the check does not take components into account.
Given the fact that there is no documentation about this optimization and
that the correct implementation is not trivial as it would require
changes in find_package to have the list of components already found we
always search dependencies.
Fix#17583.
a8b7cbb787 Autogen: Do not treat hard-coded -I/usr/include exclusion as implicit include
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3159
15be06a5ec Tests: Fix Plugin test for international characters on Windows
24da7da686 Merge branch 'upstream-KWSys' into update-kwsys
8166634958 KWSys 2019-03-28 (e92bdbe8)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3158
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
Build KWSys with `CP_UTF8` internal encoding so that we can dynamically
load modules by absolute paths that contain international characters.
This is needed now that KWSys DynamicLoader uses KWSys Encoding instead
of hard-coding `CP_UTF8` itself.
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>
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
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit e92bdbe8e6eca2a8b6dcf14920e5e25308504206 (master).
Upstream Shortlog
-----------------
Ben Boeckel (7):
30198dbc DynamicLoader: fix error reporting on Windows
cf6b5f69 DynamicLoader: use Encoding::ToWindowsExtendedPath for the libname
d17291ad DynamicLoader: support loading libraries using flags
40d9e482 DynamicLoader: support loading sibling libraries on Windows
971809c5 DynamicLoader: test the SearchBesideLibrary flag
efb006b9 DynamicLoader: include stdio.h for _snprintf
9e8e9ba0 DynamicLoader: avoid the min/max macros from windows.h
Brad King (1):
92334e76 SystemTools: CopyFileAlways: avoid copying file over self