Commit Graph

46965 Commits

Author SHA1 Message Date
Brad King
d3fa00a14b Merge branch 'release-3.16' into release-3.17 2020-04-13 10:54:25 -04:00
Craig Scott
baff868b41 Merge topic 'docs-CMAKE_CURRENT_FUNCTION' into release-3.17
10ee9611f0 Help: Improve wording of CMAKE_CURRENT_FUNCTION_LIST_DIR docs
22fbc404a7 Help: Add cross-references for CMAKE_CURRENT_FUNCTION* docs
d2b139687a Help: Minor grammar cleanups of CMAKE_CURRENT_FUNCTION* docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !4595
2020-04-11 09:12:29 -04:00
Craig Scott
f0b213e291 Merge topic 'docs-SKIP_PRECOMPILE_HEADERS-formatting' into release-3.17
a293d05c41 Help: Fix unescaped asterisks in docs for SKIP_PRECOMPILE_HEADERS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4592
2020-04-11 09:10:33 -04:00
Craig Scott
10ee9611f0 Help: Improve wording of CMAKE_CURRENT_FUNCTION_LIST_DIR docs
The original wording was somewhat confusing in talking about rendering of
templates. While technically correct, a less experienced user may not know
that terminology. The wording has been updated to more clearly describe the
example usage.

The old way of implementing the example is not "bad", it was the only way to do
things before the CMAKE_CURRENT_FUNCTION_LIST_DIR variable was added.
The example has been updated to remove the Bad/Good captions to reflect this.
Indentation of the examples was also fixed to make them conform to the guidelines.
2020-04-10 22:02:11 +10:00
Craig Scott
22fbc404a7 Help: Add cross-references for CMAKE_CURRENT_FUNCTION* docs 2020-04-10 21:56:07 +10:00
Craig Scott
d2b139687a Help: Minor grammar cleanups of CMAKE_CURRENT_FUNCTION* docs 2020-04-10 21:55:38 +10:00
Brad King
4c82f309c5 CMake 3.16.6 v3.16.6 2020-04-10 07:37:32 -04:00
Craig Scott
a293d05c41 Help: Fix unescaped asterisks in docs for SKIP_PRECOMPILE_HEADERS 2020-04-10 19:03:47 +10:00
Brad King
bd580b7d56 CMake 3.17.1 v3.17.1 2020-04-09 08:33:17 -04:00
Brad King
b8b98c98c3 Merge topic 'ccmake_incremental_log_display' into release-3.17
60bfaa8fe6 ccmake: Use incremental rendering for the logs
e9b36731e9 cmCursesLongMessageForm: Factor out helper to draw message to form

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4573
2020-04-09 08:12:12 -04:00
Brad King
0f72aba269 Merge topic 'apple-arch-sysroots' into release-3.17
84a1e67380 Apple: Fix mapping CMAKE_APPLE_ARCH_SYSROOTS to custom OSX_ARCHITECTURES
45fa9b32ca Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4583
2020-04-09 08:10:55 -04:00
Sylvain Joubert
60bfaa8fe6 ccmake: Use incremental rendering for the logs
This should avoid an exponential slowdown in the display time for
projects with lots of output.
This is still slower than cmake due to the ncurses drawing, but it should
now be O(L) in total and not O(L^2) wrt to output length.

Fixes: #20535
2020-04-08 14:40:09 -04:00
Brad King
e9b36731e9 cmCursesLongMessageForm: Factor out helper to draw message to form 2020-04-08 14:39:46 -04:00
Brad King
84a1e67380 Apple: Fix mapping CMAKE_APPLE_ARCH_SYSROOTS to custom OSX_ARCHITECTURES
The `CMAKE_OSX_ARCHITECTURES` value is not used directly by generators.
It is used to initialize a per-target `OSX_ARCHITECTURES` property, but
that property can also be set explicitly by project code to a subset of
the full list of architectures.  In order to handle this case, construct
a mapping from each `CMAKE_OSX_ARCHITECTURES` entry to the corresponding
`CMAKE_APPLE_ARCH_SYSROOTS` entry by name.  Use the mapping to find the
sysroot for each entry in `OSX_ARCHITECTURES` for a given target.

If `CMAKE_APPLE_ARCH_SYSROOTS` does not have the same length as
`CMAKE_OSX_ARCHITECTURES`, error out early rather than risking a crash
or assertion failure.

Fixes: #20534
2020-04-08 13:40:09 -04:00
Brad King
45fa9b32ca Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS
Use `<arch>-SDK-NOTFOUND` instead of an empty string as a placeholder in
`CMAKE_APPLE_ARCH_SYSROOTS` for architectures whose SDK is not found.
This ensures the length of `CMAKE_APPLE_ARCH_SYSROOTS` matches the
length of `CMAKE_OSX_ARCHITECTURES`.  It also makes the missing SDKs
more visible in the value.

Issue: #20534
2020-04-08 11:51:02 -04:00
Brad King
685bfad052 Merge topic 'ninja-order-depends' into release-3.17
2f949be4b3 Ninja: Make config uppercase in object order target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4581
2020-04-08 09:03:23 -04:00
Kyle Edwards
2f949be4b3 Ninja: Make config uppercase in object order target
Fixes: #20539
2020-04-07 14:28:35 -04:00
Brad King
3d61ff7b10 Merge topic 'llvm-rc-include-path' into release-3.17
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4570
2020-04-07 08:00:44 -04:00
Thomas Bernard
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing
Since commit 1c2d031cbd (Add -E cmake_llvm_rc to preprocess files for
llvm-rc, 2020-01-14, v3.17.0-rc1~24^2) with llvm-rc we explicitly
preprocess RC source files and then compile separately without -I flags.
This broke cases where the RC source references data files adjacent to
itself or in the include path.

This change adds the expansion of the include paths when calling the
llvm-rc in order for the resource files to be picked up correctly by
llvm-rc.  Since the RC compiled file is first preprocessed, the file
being compiled by llvm-rc resides in the build directory. In order for
llvm-rc to find the resource data specified relative to the .rc file
being compiled, the source file path is preppended in the include list
so that the original source path takes priority over all the other
includes paths specified.

A space was added in the CMAKE_INCLUDE_FLAG_RC to make the include
directive work properly for llvm-rc. Checks on the rc.exe showed that
the syntax change doesn't affect it's proper operation.

Fixes: #20529
2020-04-06 21:19:12 +02:00
Brad King
3db04c193c Merge topic 'doc-3.15-std-fix' into release-3.17
182a104478 Help: Add 3.15 release note for change in -std= flag for compile features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4574
2020-04-06 10:24:36 -04:00
Brad King
dd31068bf0 Merge branch 'doc-3.15-std-fix' into release-3.16
Merge-request: !4574
2020-04-06 09:57:01 -04:00
Brad King
182a104478 Help: Add 3.15 release note for change in -std= flag for compile features
Issue: #19917
2020-04-06 09:54:10 -04:00
Craig Scott
1a020d9e79 Merge topic 'docs-CMAKE_FIND_DEBUG_MODE' into release-3.17
477b8b5dfe Help: Improve discoverability of CMAKE_FIND_DEBUG_MODE
218bda9671 Help: Fix CMAKE_FIND_DEBUG_MODE list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4569
2020-04-06 06:34:15 -04:00
Craig Scott
477b8b5dfe Help: Improve discoverability of CMAKE_FIND_DEBUG_MODE 2020-04-04 19:59:35 +11:00
Craig Scott
218bda9671 Help: Fix CMAKE_FIND_DEBUG_MODE list formatting 2020-04-04 19:59:26 +11:00
Brad King
11998c63fd Merge topic 'ExternalProject-no-extract-bool' into release-3.17
2c4bb705e8 ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4562
2020-04-03 06:58:22 -04:00
Brad King
a554827983 Merge topic 'rel-linux-openssl' into release-3.17
3a66c7674c Utilities/Release: Update to openssl 1.1.1f

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4563
2020-04-03 06:55:35 -04:00
Brad King
3a66c7674c Utilities/Release: Update to openssl 1.1.1f 2020-04-03 06:50:56 -04:00
Brad King
d26f15dfce Merge topic 'FindPython-fix-VIRTUALENV-eq-FIRST' into release-3.17
81beb28752 FindPython: fix handling when FIND_VIRTUALENV == FIRST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4557
2020-04-02 11:12:54 -04:00
Ben Boeckel
2c4bb705e8 ExternalProject: allow DOWNLOAD_NO_EXTRACT OFF
Fixes: #20531
2020-04-02 08:55:04 -04:00
Brad King
d68794a707 Merge topic 'cpack-nsis-version' into release-3.17
aa78a2537c CPack/NSIS: Document and check requirement of at least NSIS 3.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4552
2020-04-01 10:43:24 -04:00
Brad King
9b32801859 Merge topic 'xl-cxx14' into release-3.17
46d9006efa XL: Add comment clarifying why we pretend it has full C++11/14 support
4aaa9ea96c XL: C++14 language level flags are only available on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4551
2020-04-01 10:42:18 -04:00
Brad King
3f1cd55180 Merge branch 'FindPython-fix-VIRTUALENV-eq-FIRST' into release-3.16
Merge-request: !4557
2020-04-01 10:38:31 -04:00
Marc Chevrier
81beb28752 FindPython: fix handling when FIND_VIRTUALENV == FIRST
Fixes: #20525
2020-04-01 10:36:46 -04:00
Brad King
8a0d0cbddd Merge topic 'docs_macho_prop_tgt' into release-3.17
01b47293ea Help: Fix inaccuracies and omissions in MACHO_* property docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Isuru Fernando <isuruf@gmail.com>
Merge-request: !4542
2020-03-31 12:43:41 -04:00
Brad King
aa78a2537c CPack/NSIS: Document and check requirement of at least NSIS 3.0
Since commit 9d2816544e (CPack/NSIS: Also preload the "UserInfo.dll"
plugin, 2020-01-04, v3.17.0-rc1~204^2) we require NSIS 3.0.  Since
older versions do not support Windows 8 or above, we can now require
at least version 3.0.

Fixes: #20514
2020-03-31 10:57:28 -04:00
Brad King
46d9006efa XL: Add comment clarifying why we pretend it has full C++11/14 support
Since commit b0f46c48f6 (CompileFeatures: Now able to presume full
language level support, 2019-03-06, v3.15.0-rc1~265^2~1) we pretend that
the XL compiler has full C++11 and C++14 support so that projects
specifying granular features will at least get the corresponding
compiler mode.  This is a work around for our lack of a full feature
check table for this compiler that works in common cases.  Add a comment
explaining this.

Issue: #20521
2020-03-31 10:35:56 -04:00
Brad King
4aaa9ea96c XL: C++14 language level flags are only available on Linux
Since commit 458ea9d76c (XL: Add C++14 language level flags, 2019-04-15,
v3.15.0-rc1~226^2) we use `-qlanglvl=extended1y` for C++14 with XL 16.1.
However, that flag is only supported on a Linux host.

Issue: #20521
2020-03-31 10:35:56 -04:00
Brad King
69c8bf6967 Merge topic 'link-libs-config-case' into release-3.17
2af18704fd Merge branch 'backport-3.16-link-libs-config-case'
3f976bf201 target_link_libraries: Fix regression in case of $<CONFIG> genex
5a95b5e091 target_link_libraries: Fix regression in case of $<CONFIG> genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4544
2020-03-31 09:19:42 -04:00
Brad King
76f08a107b Merge topic 'aix-ExportImportList-install' into release-3.17
39e5a4da22 AIX: Install ExportImportList script with execute permission

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4545
2020-03-31 09:17:53 -04:00
Craig Scott
01b47293ea Help: Fix inaccuracies and omissions in MACHO_* property docs
The VERSION and SOVERSION properties are not true fallbacks for
the MACHO_* properties since the MACHO_* properties only affect
the embedded version information, but VERSION and SOVERSION
also affect other things.
2020-03-31 20:08:29 +11:00
Brad King
04d8ed643c Merge topic 'docs-xcode-gen-scheme-workdir' into release-3.17
6905451e11 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY
6ff07dac76 Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4543
2020-03-30 13:23:18 -04:00
Brad King
42cefc6bc1 Merge topic 'llvm_rc_pp' into release-3.17
4bef0e6450 llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4535
2020-03-30 13:22:02 -04:00
Brad King
9fce97939c Merge branch 'backport-3.16-link-libs-config-case' into release-3.16
Merge-request: !4544
2020-03-30 11:49:13 -04:00
Brad King
933d0691b2 Merge branch 'aix-ExportImportList-install' into release-3.16
Merge-request: !4545
2020-03-30 11:48:55 -04:00
Brad King
39e5a4da22 AIX: Install ExportImportList script with execute permission
This script was added by commit 0f150b69d3 (AIX: Explicitly compute
shared object exports for both XL and GNU, 2019-07-11,
v3.16.0-rc1~418^2~2) but does not have a `.sh` extension so our existing
install rules neglect to give it execute permission.  Our test suite
works on AIX in the build tree but the script is broken without execute
permission on installation.

Fixes: #20520
2020-03-30 11:43:08 -04:00
Brad King
2af18704fd Merge branch 'backport-3.16-link-libs-config-case' 2020-03-30 11:34:39 -04:00
Brad King
3f976bf201 target_link_libraries: Fix regression in case of $<CONFIG> genex
Since commit b8626261e9 (Precompile headers: Add methods to generate PCH
sources, 2019-07-13, v3.16.0-rc1~182^2~4) we look up source files for a
target using an upper-case configuration even though an original-case
name is sufficient.  Since commit 36ded610af (PCH: Generate sources
during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup
is the first time we compute many on-demand structures that depend on
the configuration name.  This caused the `$<CONFIG>` generator
expression to evaluate to the upper-case configuration name in some
cases where we used original-case before.

Fix this by switching the source file lookup to the original-case config
name.  Add a test covering the symptom that led to the discovery of this
problem.

Fixes: #20517
2020-03-30 11:33:55 -04:00
Brad King
5a95b5e091 target_link_libraries: Fix regression in case of $<CONFIG> genex
Since commit b8626261e9 (Precompile headers: Add methods to generate PCH
sources, 2019-07-13, v3.16.0-rc1~182^2~4) we look up source files for a
target using an upper-case configuration even though an original-case
name is sufficient.  Since commit 36ded610af (PCH: Generate sources
during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup
is the first time we compute many on-demand structures that depend on
the configuration name.  This caused the `$<CONFIG>` generator
expression to evaluate to the upper-case configuration name in some
cases where we used original-case before.

Fix this by switching the source file lookup to the original-case config
name.  Add a test covering the symptom that led to the discovery of this
problem.

Fixes: #20517
2020-03-30 11:24:27 -04:00
Craig Scott
6905451e11 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY 2020-03-29 22:13:56 +11:00