Commit Graph

1573 Commits

Author SHA1 Message Date
Brad King 62d45d91e8 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 2019-09-30 09:18:20 -04:00
Brian Carlson f84d2045e9 FindBISON: Fix CMP0088 NEW behavior for non-absolute input paths
Now that the working directory is in the build tree, relative input
paths must be converted to an absolute path to remain relative to the
source directory.

Fixes: #19472
2019-07-12 16:20:08 -04:00
Brad King 2d0b0e2b9d Do not exclude include directories made implicit by CPATH
Entries of the `CPATH` environment variable are implicitly searched as
include directories by some C/C++ compilers.  Since commit 5990ecb741
(Compute implicit include directories from compiler output, 2018-12-07,
v3.14.0-rc1~108^2) these entries are detected by CMake and included in
the `CMAKE_{C,CXX}_IMPLICIT_INCLUDE_DIRECTORIES` variables.

However, we should not exclude them from explicit specification via `-I`
or particularly `-isystem` because they are meant as user-specified
include directories that can be re-ordered without breaking compiler
builtin headers.  In particular, we need explicit requests via
`include_directories` with the `SYSTEM` option to result in `-isystem`
so that third-party headers do not produce warnings.

Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
Fixes: #19291
2019-05-30 09:24:59 -04:00
Brad King f2aeba927c Help: Add 3.14.4 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).  Also
reference the equivalent note already added to the 3.13.5 notes.
2019-05-14 11:21:00 -04:00
Brad King 1d645e9891 Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14 2019-05-14 11:19:32 -04:00
Brad King d6b8822919 Help: Add 3.13.5 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).
2019-05-14 11:18:42 -04:00
Brad King db02be85a0 VS: Provide the default platform name to project code
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.

Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code.  This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known.  Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.

Fixes: #19177
2019-04-19 07:46:13 -04:00
Brad King a3a1e69f8a FindFontconfig: Convert module variables to camel case
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
2019-03-26 14:14:09 -04:00
Brad King 71852e969b Merge branch 'vs2019' into release-3.14
Merge-request: !3044
2019-02-28 13:25:51 -05:00
Brad King c9a7f3135e Help: Update VS 2019 generator release note for preview 4 2019-02-28 11:05:31 -05:00
Brad King e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -05:00
Brad King 7a1f3fe041 FindOctave: Remove module pending further work
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
2019-02-26 14:12:34 -05:00
Brad King af000abbba Merge branch 'releasenotes_arch_independent' into release-3.14
Merge-request: !3012
2019-02-25 07:54:25 -05:00
Craig Scott 47caf146c5 Help: Add release note for new ARCH_INDEPENDENT option 2019-02-24 20:05:49 +11:00
Brad King 6ebe40c6ae Merge branch 'remove-exclude-from-all-warning' into release-3.14
Merge-request: !3002
2019-02-22 11:19:09 -05:00
Craig Scott d3b765d451 EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
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
2019-02-22 07:55:56 +11:00
Craig Scott f2820bce15 Release notes: Make ExternalProject dot points consistent
Use same phrasing and command linking.
2019-02-17 13:17:56 +11:00
Brad King 9e309cd4f0 Merge branch 'ghs-relnotes' into release-3.14
Merge-request: !2934
2019-02-11 07:50:00 -05:00
Fred Baksik 2d701b78de Help: Update 3.14 release notes for GHS changes 2019-02-11 07:49:08 -05:00
Tushar Maheshwari e729f2b3fd Help: Add notes for file(CREATE_LINK) subcommand 2019-02-08 13:20:45 -05:00
Brad King 12b8e41c07 Merge branch 'doc-object-library-link' into release-3.14
Merge-request: !2933
2019-02-07 09:36:58 -05:00
Brad King 0f87bd1bd8 Help: Clarify 3.14 release note about object library dependencies
Revise the note from commit bab24e782c (target_link_libraries: Propagate
dependencies of object libraries, 2018-12-10, v3.14.0-rc1~260^2).
2019-02-07 09:34:17 -05:00
Brad King 0b882e4213 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2019-02-06 10:06:25 -05:00
Brad King aa9161fd57 Help: Organize and revise 3.14 release notes
Add section headers similar to the 3.13 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2019-02-06 09:52:35 -05:00
Brad King 0d1a9282c4 Help: Consolidate 3.14 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.14.rst`.
2019-02-06 09:16:59 -05:00
Brad King d423192062 Merge topic 'deprecate-xcode-4'
75a75d2754 Xcode: deprecate support for Xcode 4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2922
2019-02-06 06:54:52 -05:00
Gregor Jasny 75a75d2754 Xcode: deprecate support for Xcode 4 2019-02-06 06:53:42 -05:00
Brad King d6729505cb Merge topic 'relax_CUDA_RESOLVE_DEVICE_SYMBOLS_constraints'
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
2019-02-06 06:51:30 -05:00
Robert Maynard 850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types
`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.
2019-02-05 11:09:48 -05:00
Brad King c03072f2f7 Merge topic '17870-iphone-friendly-cmake'
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
2019-02-05 07:33:04 -05:00
Gregor Jasny 11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
- 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
2019-02-04 09:03:35 -05:00
Brad King 748d024551 Merge topic 'fetchcontent-reduce-boilerplate'
a94355c7b7 FetchContent: Add new command FetchContent_MakeAvailable()
611d5274de Sphinx: Add limited support for nested variables in docs
1a07e1b47d FetchContent: Trivial doc corrections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2830
2019-01-30 08:13:42 -05:00
Brad King 9620cb935a Merge topic 'add_consistent_verbose_build_flag'
66801f4d40 cmake: Add tests for verbose output to --build mode
439fe2e253 cmake: Add options for verbose output to --build mode
638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments
3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode
cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option
1a45266cb5 cmGlobalGenerator: Add a class that represent the build command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2708
2019-01-29 09:19:39 -05:00
Brad King 0fd742a6ff VS: Teach VS 2019 generator to select host tools matching host arch
This generator is new so we can introduce the long-desired behavior
of selecting ``host=x64`` tools by default on x64 hosts.
2019-01-28 12:58:21 -05:00
Florian Maushart 439fe2e253 cmake: Add options for verbose output to --build mode
While we already support `VERBOSE` environment variable and
`CMAKE_VERBOSE_MAKEFILE` cached variable, add `-v` and `--verbose`
command line options to be able to activate verbose output directly from
CMake's build tool mode command line.

Also make `msbuild` honor the verbosity setting. `xcodebuild` still
doesn't honor the verbosity setting as it will need a policy added
and reworking of cmGlobalGenerator and cmsys to support
multiple command invocation.
2019-01-28 09:44:50 -05:00
Brad King 8e495333c0 Merge topic 'cmake-gui-s-b'
ad0853b3d4 QtDialog: Clean up and document -S and -B options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2863
2019-01-28 08:36:58 -05:00
Brad King a844c7248d Merge topic 'cmake-E-compare_files-eol'
a5098cad94 cmake: Add --ignore-eol option to `-E compare_files` command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2778
2019-01-28 08:27:03 -05:00
Taylor Braun-Jones a5098cad94 cmake: Add --ignore-eol option to -E compare_files command
Fixes: #13007
2019-01-28 08:24:50 -05:00
Brad King 1593e16d88 Merge topic 'get_filename_component_last_ext'
2a9220c34d Help: Add notes for topic 'get_filename_component_last_ext'
edda30d0f5 Tests: Add tests for LAST_EXT and NAME_WLE
7a25ef326b Help: Add documentation for new get_filename_component components
e50a36df48 cmGetFilenameComponentCommand: Add more components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2853
2019-01-28 08:21:50 -05:00
Brad King 2a9220c34d Help: Add notes for topic 'get_filename_component_last_ext' 2019-01-28 08:20:24 -05:00
Brad King ce57bc8e04 Merge topic 'vs2019'
626c51f47b VS: Update for Visual Studio 2019 Preview 2
fd45cbf40e VS: Fix `/MANIFESTUAC:` link flag mapping for v142
db35e3cfd6 VS: Fix support for '/guard:cf' linker flag for v142
533f95c847 VS: Map the link `/debug` flag for v142
d2fcc6748a VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142
a7973ccb53 VS: Populate `/permissive` flag table entry for v142
049410c0b6 VS: Populate `/JMC-` flag table entry for v142
43aa632f57 VS: Populate `-Qspectre-` flag table entry for v142
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2856
2019-01-28 08:07:28 -05:00
Craig Scott a94355c7b7 FetchContent: Add new command FetchContent_MakeAvailable()
Relates: #18754
2019-01-26 16:49:15 +11:00
Kyle Edwards ad0853b3d4 QtDialog: Clean up and document -S and -B options 2019-01-25 16:23:56 -05:00
Brad King 40628b2519 Merge topic 'max-recursion-depth'
a6982cff0d cmMakefile: Impose maximum recursion limit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Juraj Oršulić <juraj.orsulic@fer.hr>
Merge-request: !2746
2019-01-25 08:09:37 -05:00
Brad King 24b6e4830d Merge topic 'exclude_from_all'
dc6888573d Pass EXCLUDE_FROM_ALL from directory to targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2816
2019-01-25 08:06:54 -05:00
Brad King 626c51f47b VS: Update for Visual Studio 2019 Preview 2
The toolset is now called `v142`.  Use matching flag tables.

Fixes: #18834
2019-01-24 13:49:25 -05:00
Hiroshi Miura 513e77550d FindPython: Introduce NumPy component
Fixes: #18678
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2019-01-25 01:26:48 +09:00
Kyle Edwards e4541b0e3d FindPython: Support script mode
Fixes: #18827
2019-01-23 13:51:09 -05:00
Kyle Edwards a6982cff0d cmMakefile: Impose maximum recursion limit
In order to keep infinitely-recursive scripts from causing a stack
overflow in the CMake executable, CMake now imposes a maximum
recursion limit before issuing an error message. The limit can be
adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.

Fixes: #18694
2019-01-23 09:52:29 -05:00
Brad King 20861d758b Merge branch 'backport-cmake-warn-no-src-build-dir' 2019-01-22 14:46:56 -05:00