| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
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: !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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: !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: !3051
|
| |/
| |
| |
| |
| |
| |
| | |
Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting
`CMAKE_SYSTEM_NAME` to `iOS`. Existing iOS toolchain files already
set `IOS` as a short-hand variable, so do the same here.
|
|\ \
| | |
| | |
| | | |
Merge-request: !3053
|
| |/
| |
| |
| |
| |
| |
| | |
Update the component added by commit 513e77550d (FindPython: Introduce
NumPy component, 2018-12-12, v3.14.0-rc1~95^2). The `numpy/`
sub-directory should not be part of the include directory. It should be
part of the `#include` line.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The Intel Fortran `.vfproj` files do support both Fortran and the
Windows Resource compiler (`.rc)` files. Prior to CMake 3.9 we did not
support that, but commit 2c9f35789d (VS: Decide project type by linker
lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) accidentally enabled it.
It was then broken by commit d3d2c3cd49 (VS: Fix Fortran target type
selection when linking C++ targets, 2019-02-04, v3.14.0-rc1~13^2).
Restore support for Fortran+RC in VS projects and add a test case.
Fixes: #19002
|
|\
| |
| |
| | |
Merge-request: !3028
|
| |
| |
| |
| | |
Fixes: #18990
|
|\ \
| | |
| | |
| | | |
Merge-request: !3027
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release. These were missed during
review. Remove the module for now. It can be restored later with a
fresh review.
Issue: #18991
|
|\ \ \
| |_|/
|/| |
| | | |
Merge-request: !3021
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile
CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use
of `if()` conditions not supported until CMake 3.7, so while it was
intended to restore support for CMake versions prior to 3.9, it actually
only did so for 3.7 and 3.8. Backport the logic to work with CMake 3.1.
Fixes: #18987
|
|/
|
|
|
|
|
|
|
| |
The original warning pre-dates support for install components.
There are now legitimate scenarios where an install(TARGETS)
command may list a target that is excluded from all, e.g.
hierarchical projects that will never install the component such a
target belongs to.
Fixes: #18938
|
|\
| |
| |
| | |
Merge-request: !2965
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The quoting added by commit 8c5221fb1f (try_compile: Preserve special
characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3)
broke the case that the `COMPILE_DEFINITIONS` value contains a `;`.
Without the quoting the `;` would be generated literally in an unquoted
argument in the test `CMakeLists.txt` file and would then be expanded.
With quoting the `;` is preserved, which is not the old behavior.
Fix this by expanding the `;`-list ahead of time. Add test cases for
behavior with both `#` and `;`.
This was noticed with the PGI compiler where we set
`CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The
symptom had also been observed while preparing commit ef8f237686
(ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray
fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time
as a regression. Revert the workaround added by that commit.
Fixes: #18919
|
|\ \
| | |
| | |
| | | |
Merge-request: !2954
|
| |/
| |
| |
| | |
Fixes: #18894
|
|\ \
| | |
| | |
| | | |
Merge-request: !2931
|
| | |
| | |
| | |
| | |
| | |
| | | |
This change adds the Octave::Octinterp target to make the octinterp
library available without users having to resort to using the
Octave_INTERP_LIBRARY variable.
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2943
|
| |/ /
| | |
| | |
| | | |
-- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
|
|\ \ \
| |/ /
|/| |
| | | |
Merge-request: !2937
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to
targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the
`EXCLUDE_FROM_ALL` to targets as they are created. This regressed
support for interface libraries on which the property is not allowed.
Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries.
It is not needed on them because they do not participate in the
generated build system anyway.
Fixes: #18896
|
|/
|
|
|
|
| |
Warning disables are transferred to the VS IDE `<NoWarn>` node.
Fixes: #18878
|
|\
| |
| |
| |
| |
| |
| |
| | |
850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2900
|
| |
| |
| |
| |
| |
| |
| | |
`CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and
executable target types. This relaxation is to allow for better
interoperability with linkers that automatically do CUDA device symbol
resolution and have no way to disable it.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
d3d2c3cd49 VS: Fix Fortran target type selection when linking C++ targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2913
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 2c9f35789d (VS: Decide project type by linker lang as
fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language
when detecting whether to generate a `.vfproj` or `.vcxproj` file.
However, this could cause C-only projects to become `.vfproj` files if
they link to Fortran projects. Instead we should consider only the
`LINKER_LANGUAGE` property on the target itself. This approach is
already used for CSharp. It allows project code to specify the project
file type for a target with no sources but does not allow linked targets
to affect it.
Fixes: #18687
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
e8ee8cab97 Xcode: Completely disable code signing for compiler id detection
11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2392
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Remove code signing requirements for non-macOS
- Do not set deployment target for non-macOS
- Build static library for compiler feature detection for non-macOS
- Use framework to run CompilerId tests for watchOS
- Port tests to new SDK handling
- Add new Apple cross-compiling section to toolchain documentation
Closes: #17870
|
| | |
| | |
| | |
| | |
| | | |
Run all host cases before per-device cases. Do not expose the host
`CMAKE_OSX_ARCHITECTURES` environment value to the per-device tests.
|
| |/
|/|
| |
| |
| |
| | |
Xcode 10.2 no longer supports Swift language versions before 4.0.
Fixes: #18871
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
f5d72be57a VS: Fix deployment for WinCE projects
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2907
|
| | |
| | |
| | |
| | | |
Fixes: #18868
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
cff026dbc0 VS: Fix WinRT component references
6c21722adb Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2906
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
WinRT components need to be referenced in a similar way that managed
code libraries are referenced. Validate that the library reference is a
WinRT component and reference it through the project.
Add test coverage for `VS_WINRT_COMPONENT`. While at it, fix the IOT
reference failing on Win10 SDK 17763 which doesn't include it anymore.
Fixes: #18846
|
| |/ /
| | |
| | |
| | | |
The Windows 10 SDK no longer includes IOT.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
cb01b8c8ba set: warn of extra arguments after ENV value.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2903
|
| | |
| | |
| | |
| | | |
Fixes: #18842
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
1293ed8507 ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake
eaf53158f4 CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parser
ef8f237686 ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2894
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add implicit include parser for PGI compiler ID. PGI verbose output
for CXX differs from C and Fortran, so CXX is broken out into its own
case. The C and Fortran compilers take "-YI,path" and "-Mnostdinc" to
change or disable the builtin include path. The last arg on the command
line appears to override previous args (e.g. "-YI,path1 -YI,path2" will
set the path to "path2" ... the previous "-YI,path1" gets undone).
The CXX compiler verbose output reports with "-I" rather than "-stdinc"
for the built in path. In addition with CXX "-Mnostdinc" does not
completely zero the include path (e.g. "#include <stdio.h>" still works
with "-Mnostdinc"... "-I/usr/include" still shows up in the verbose output).
Minor adjustments to get the SunPro parser to handle Fortran as well.
Fixes for Cray compiler support (Modules/Compiler/Cray-{C,CXX}.cmake):
The *_COMPILE_OPTION flags contain options like "-h c99,gnu" ...
these options need to be in double quotes (they are currently not).
Otherwise, cmake treats them as lists and tries to run the compiler
with "-h;c99,gnu" and fails when it is "Detecting C compile features"...
Also, the Cray-CXX.cmake contains "__compiler_cray(C)" instead of
"__compiler_cray(CXX)" -- this error prevents the correct VERBOSE
flags for CXX from being defined which prevents the implicit include
parser from running.
Add additional test cases for PGI and SunPro Fortran to the
Tests/RunCMake/ParseImplicitIncludeInfo area.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
198650ae73 set: warn if CACHE type is not recognized
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2874
|
| | |/
| |/| |
|