The user package registry populated by the `export()` command causes
side effects outside the build and source directories. Such effects
should be opt-in rather than op-out. Introduce a policy to change
default behavior of `export(PACKAGE)` to do nothing.
Do not `find_package(GTK2)` by default, as it gives the impression that
CMake depends on it to build. We will set `CMake_TEST_FindGTK2` in the
cache of automated builds where GTK2 is expected to work.
077ab5774c cmake: add short version of '--target <tgt>...' option
071f5e1544 cmake: Reformat '--parallel' and '--verbose' options in help
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3078
b53766b205 CUDA: Support compiler id and version generator expressions
b544e34af6 All VersionNode use the same capitalization pattern
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3085
463c2fba4e Genex: Teach SHELL_PATH to support a list of paths
21da25d2a8 Tests: Generalize GeneratorExpression MSYS path conversion workaround
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3057
Extend the genex added by commit ca6ba3fee5 (Genex: Add a SHELL_PATH
expression, 2015-09-24, v3.4.0-rc1~37^2) to accept a `;`-list of paths,
convert them all, and generate a list separated by the native shell
`PATH``` separator.
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
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.
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
c7213ca870 Features: Do not use a lower-than-default standard for requested features
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3023
e795be115e Merge branch 'master' into cmake_role-vs-fix
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3028
`AddRequiredTargetC(xx)` feature didn't take the default compiler
standard into account, which possibly resulted in the use of an older
standard when some features requested it.
Fixes: #18686
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
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
Add a `VS_NO_SOLUTION_DEPLOY` target property to explicitly specify for
each target whether to suppress VS solution deployment of the generated
target project.
Fixes: #18953