Commit Graph

46989 Commits

Author SHA1 Message Date
Kyle Edwards
b45976fe10 Ninja: Remove config suffix from order-only target
Fixes: #20621
2020-04-23 12:46:58 -04:00
Brad King
8c00f5ef0a Merge topic 'apple-merge-same-sysroot' into release-3.17
3a7d1e9592 Apple: Merge per-arch sysroot parameters if all are the same

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4647
2020-04-22 08:32:02 -04:00
Brad King
c4ccf23186 Merge topic 'cpack-symlinks' into release-3.17
bcc5cd44ed CPack: Do not recurse through directory symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4637
2020-04-22 08:30:53 -04:00
Gregor Jasny
3a7d1e9592 Apple: Merge per-arch sysroot parameters if all are the same
Since commit a9b41195d2 (Handle multi-arch sysroots on Apple platforms,
2019-07-26, v3.17.0-rc1~287^2), CMake supports "fat" builds with
different sysroots. Those are passed to the compiler with the
`-Xarch_<xyz>` parameter.

Unfortunately this breaks the Compiler Cache (ccache) because
it does not support those compiler flags:

    https://github.com/ccache/ccache/blob/v3.7.9/src/ccache.c#L2700-L2705

Restore the caching ability for certain "fat" build configurations (e.g.
`arm64` and `armv7`) where the sysroot is the same for all selected
architectures and thus a plain `-isysroot` parameter could be used.
2020-04-21 11:18:12 -04:00
Brad King
4a5de69e09 Merge topic 'FindBoost-1.73' into release-3.17
9daf79c53b FindBoost: Add support for Boost 1.73
f48051d33f FindBoost: Simplify Boost_VERSION_STRING comparisons
56b3375f3e BoostScanDeps: Fix typo in numpy handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4635
2020-04-21 07:44:31 -04:00
Brad King
bcc5cd44ed CPack: Do not recurse through directory symlinks
Extend the fix from commit 7b8dcdd173 (CPack: Do not recurse through
directory symlinks (#12284), 2011-08-27, v2.8.6~55^2) to more places in
CPack.

Issue: #12284
2020-04-21 07:28:06 -04:00
Alexander Grund
9daf79c53b FindBoost: Add support for Boost 1.73
Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.73.0
sources to compute dependencies.

This includes a new Boost.Nowide library.

Special case: Boost.Filesystem is an optional dependency as the include
is only required to make Boost.Filesystem use UTF-8 paths on user
request
2020-04-20 08:27:32 -04:00
Alexander Grund
f48051d33f FindBoost: Simplify Boost_VERSION_STRING comparisons 2020-04-20 08:27:32 -04:00
Alexander Grund
56b3375f3e BoostScanDeps: Fix typo in numpy handling
Fix a typo from commit e66e8e8914 (BoostScanDeps: Special case python
and numpy and variants, 2017-08-22, v3.10.0-rc1~229^2~1).
2020-04-20 08:27:31 -04:00
Brad King
be88264abe Merge topic 'ninja-fortran-doc' into release-3.17
fa31c195b8 Ninja: Document that Fortran support is available with Ninja 1.10+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4626
2020-04-20 07:53:49 -04:00
Brad King
fa31c195b8 Ninja: Document that Fortran support is available with Ninja 1.10+
Ninja 1.10 was released in Jan 2020 and has the features we need
to support Fortran.  Replace documentation that mentions Kitware's
branch with mention of Ninja 1.10+ instead.
2020-04-17 10:58:53 -04:00
Brad King
ee79216b82 Merge topic 'ios_multi_arch_fix' into release-3.17
170e598add iOS: Fix detection of supported SDK architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Merge-request: !4615
2020-04-17 08:07:29 -04:00
Alexandru Croitor
170e598add iOS: Fix detection of supported SDK architectures
Instead of relying on SDKSettings.plist which does not contain the
certain architectures, deduce the supported architectures by
inspecting libSystem.tbd and libSystem.dylib.

.tbd files are text files, so just parse out the archs string.
.dylib files can be fat or non-fat, so use lipo -info to extract
the architectures and parse lipo output.

Fixes: #20588
2020-04-16 07:51:03 -04:00
Brad King
e4aed8b9cd Merge topic 'ibmi-aix-exports' into release-3.17
420e91c951 AIX: Activate symbol export/import IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4611
2020-04-15 09:39:55 -04:00
Brad King
5fde1af854 Merge topic 'FindPython-if-auto-deref' into release-3.17
894fdea2a9 FindPython: remove extra dereference
0b9c9e2c8c FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Brad King
17e6666a43 Merge topic 'FindCUDAToolkit-search-stubs' into release-3.17
4f1e24efa0 FindCUDAToolkit searches stub location last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4589
2020-04-15 09:36:24 -04:00
Brad King
40e043eb98 Merge branch 'backport-3.17-file-upload-tls' into release-3.17
Merge-request: !4579
2020-04-15 08:57:13 -04:00
Harry Mallon
dbfece1004 file(UPLOAD): Add default ca_certs
Default ca_certs were not added when using `UPLOAD` with built-in
(non-system) cURL.  Previously we only did this for `DOWNLOAD`.

Fixes: #20551
2020-04-15 08:55:09 -04:00
Brad King
420e91c951 AIX: Activate symbol export/import IBM i (OS400)
Fixes: #20582
2020-04-14 14:45:51 -04:00
Ben Boeckel
894fdea2a9 FindPython: remove extra dereference
If the version is not found (e.g., missing headers), this causes a CMake
error about `if(blah VERSION_EQUAL)` being an invalid statement.
2020-04-14 11:03:35 -04:00
Ben Boeckel
0b9c9e2c8c FindPython: avoid autoderef in version comparisons 2020-04-14 11:03:35 -04:00
Robert Maynard
4f1e24efa0 FindCUDAToolkit searches stub location last
Fixes #20252
2020-04-14 09:39:46 -04:00
Brad King
e14386db8f Merge topic 'FindMPI-pgi-spectrum-mpi-wrappers' into release-3.17
cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4598
2020-04-13 10:57:22 -04:00
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
Chuck Atkins
cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI 2020-04-10 12:01:59 -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