Commit Graph

47611 Commits

Author SHA1 Message Date
Brad King da25220d83 Merge branch 'backport-3.17-apple-arch-sysroots' into apple-arch-sysroots 2020-04-08 13:44:42 -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 37fa5122c2 Merge branch 'release-3.17' 2020-04-08 09:03:23 -04:00
Brad King 77053ed470 Merge topic 'ninja-order-depends'
d54f0aa9b7 Merge branch 'master' into ninja-order-depends
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
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
Brad King e8295e532b Merge topic 'file-upload-tls'
9427763081 file(UPLOAD): Add default ca_certs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4579
2020-04-08 08:51:11 -04:00
Brad King d5e44d7a38 Merge topic 'update-kwsys'
ff2e597ba2 Merge branch 'upstream-KWSys' into update-kwsys
c5635588ad KWSys 2020-04-07 (caff9c3b)
2cc7baa1bc Tests: Fix get_filename_component PROGRAM test to use an executable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4578
2020-04-08 08:48:56 -04:00
Brad King 12cdb3692d Merge topic 'update-libuv'
630e501f8b libuv: Restore compilation on Apple i386 architecture
02a28f1d44 libuv: Restore compilation with XLClang 16.1 on AIX
82a06d5cb4 CTestCustom: Suppress scanbuild warning in libuv
722d6b4105 Merge branch 'upstream-libuv' into update-libuv
394b07af40 libuv 2020-04-06 (d21f5aea)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4576
2020-04-08 08:48:01 -04:00
Kitware Robot 09d28262bf CMake Nightly Date Stamp 2020-04-08 00:01:12 -04:00
Kyle Edwards d54f0aa9b7 Merge branch 'master' into ninja-order-depends 2020-04-07 14:54:54 -04:00
Kyle Edwards 2f949be4b3 Ninja: Make config uppercase in object order target
Fixes: #20539
2020-04-07 14:28:35 -04:00
Harry Mallon 9427763081 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-07 12:58:04 -04:00
Brad King ff2e597ba2 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-04-07 (caff9c3b)
2020-04-07 10:31:10 -04:00
KWSys Upstream c5635588ad KWSys 2020-04-07 (caff9c3b)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit caff9c3bf3c9a95f4ac7f700532633603352e506 (master).

Upstream Shortlog
-----------------

Vladimir Menshakov (1):
      66724af8 SystemTools: Teach FindProgram to find non-readable programs
2020-04-07 10:31:10 -04:00
Brad King 2cc7baa1bc Tests: Fix get_filename_component PROGRAM test to use an executable 2020-04-07 10:30:53 -04:00
Brad King b8b804e2ed Merge topic 'file-GetRuntimeDependencies_support_cross_compilation'
f867423aa2 file: GetRuntimeDependencies use CMAKE_OBJDUMP when applicable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4538
2020-04-07 08:03:50 -04:00
Brad King 6f83e978b3 Merge branch 'release-3.17' 2020-04-07 08:00:45 -04:00
Brad King c0438d272d Merge topic 'llvm-rc-include-path'
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:45 -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
Brad King a4c873fc5d Merge topic 'UseJava-clean-stale'
4559eb490a UseJava: clean class files from previous builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !4381
2020-04-07 07:58:30 -04:00
Brad King 38f293efab Merge topic 'update-kwsys'
dd8365b3f1 Merge branch 'upstream-KWSys' into update-kwsys
fe6d7d6c42 KWSys 2020-04-06 (af1f389c)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4572
2020-04-07 07:56:23 -04:00
Brad King 630e501f8b libuv: Restore compilation on Apple i386 architecture
libuv upstream commit `2475296c` (build: make code compilable for iOS on
Xcode, 2020-01-18, v1.35.0~47) added a `defined(TARGET_OS_IPHONE)`
preprocessor condition, but `TARGET_OS_IPHONE` is always defined on
Apple to either 0 or 1.
2020-04-07 07:49:50 -04:00
Brad King 02a28f1d44 libuv: Restore compilation with XLClang 16.1 on AIX
libuv upstream commit `4a972bf0` (aix: Fix broken cmpxchgi() XL C++
specialization., 2019-09-06, v1.32.0~5) broke compilation with this
compiler.  According to

    https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/migrate/migrate_to_xlclang.html

XLClang 16.1 for AIX does not support `__sync_val_compare_and_swap`.
The documentation suggests using C++11 atomic operations instead, but
this is C code.  For now fall back to the non-atomic equivalent used
before so we can at least compile.  Add a FIXME comment for this.
2020-04-07 07:47:47 -04:00
Brad King 82a06d5cb4 CTestCustom: Suppress scanbuild warning in libuv
This is third-party code.
2020-04-07 07:09:24 -04:00
Kitware Robot ec4c25cb92 CMake Nightly Date Stamp 2020-04-07 00:01:12 -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
Robert Maynard f867423aa2 file: GetRuntimeDependencies use CMAKE_OBJDUMP when applicable
On machines where the gnu bin utils are prefixed, or suffixed
the file(GET_RUNTIME_DEPENDENCIES ) command would fail without
explicitly setting the location of objdump.

Now we pre-populate the variables used to find objdump based
on the gnu bin utils, so that these use cases are better supported
2020-04-06 12:12:14 -04:00
Brad King 722d6b4105 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2020-04-06 (d21f5aea)
2020-04-06 11:58:14 -04:00
libuv upstream 394b07af40 libuv 2020-04-06 (d21f5aea)
Code extracted from:

    https://github.com/libuv/libuv.git

at commit d21f5aeab0a4b6193f13640471cde405579f9c69 (v1.x).
2020-04-06 11:49:07 -04:00
Alexey Karndshev 4559eb490a UseJava: clean class files from previous builds
If java_class_filelist exists, remove previous class files before building the
new ones. If java_sources content has changed, clean and rebuild the class
files of the target.

Fixes: #20377
2020-04-06 16:58:10 +02:00
Brad King 21c5a311c6 Merge branch 'release-3.16' 2020-04-06 10:25:56 -04:00
Brad King 95eb5320bd Merge branch 'release-3.15' 2020-04-06 10:25:38 -04:00
Brad King db25aacc1c Merge branch 'release-3.17' 2020-04-06 10:24:37 -04:00
Brad King b59b771eca Merge topic 'doc-3.15-std-fix'
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:37 -04: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 a7aff17ba3 Merge branch 'doc-3.15-std-fix' into release-3.15
Merge-request: !4574
2020-04-06 09:56:44 -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
Brad King dd8365b3f1 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-04-06 (af1f389c)
2020-04-06 09:24:42 -04:00
KWSys Upstream fe6d7d6c42 KWSys 2020-04-06 (af1f389c)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit af1f389ca9709a78fdf0103cc20175533054a3e7 (master).

Upstream Shortlog
-----------------

Brad King (4):
      313b2f7a SystemTools: Make SystemToolsStatic singleton private to implementation file
      019afb6e SystemTools: Drop GetCurrentWorkingDirectory 'collapse' argument
      c35a377f SystemTools: Refactor CollapseFullPath to call getcwd only when needed
      e3989b18 SystemTools: Restore GetCurrentWorkingDirectory slash conversion on Windows
2020-04-06 09:24:41 -04:00
Brad King c18c781cb5 Merge topic 'externalproject-patch-update-order'
7249ba9677 ExternalProject: Enforce that patch depends on update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4565
2020-04-06 08:30:04 -04:00
Brad King e1f9b4fae9 Merge topic 'fetchcontent-download-no-extract'
0331092ce6 FetchContent: Add support for DOWNLOAD_NO_EXTRACT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4555
2020-04-06 08:29:16 -04:00
Brad King f0a27e44f3 Merge topic 'parallel-lzma-compression'
b3bacf0152 cmCPackArchiveGenerator: support multithreaded compression
b71d385ed4 cmCPackArchiveGenerator: support setting archive options
948aa8bd1c cmArchiveWrite: support setting archive filter options
b9c17de023 cmArchiveWrite: split out opening the file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !3195
2020-04-06 08:28:19 -04:00
Brad King 2b9e3abcb5 Merge topic 'ctest-resource-file-cache'
060d2ce269 CTest: Add CTEST_RESOURCE_SPEC_FILE variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4564
2020-04-06 08:26:40 -04:00
Brad King 0bc64c450c Merge topic 'use-cmWorkingDirectory'
56cccde235 cmWorkingDirectory: Add GetOldDirectory method
753817e71d CPack/FreeBSD: Use RAII to save/restore working directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4566
2020-04-06 08:23:49 -04:00
Brad King 5ded334ee1 Merge topic 'curl-http2'
02dd24a928 curl: Enable HTTP/2 support by using nghttp2
a24dd93e93 curl: When building inside CMake, link dependencies as PRIVATE
0b872fd4be nghttp2: Build the library within CMake for use by our curl
cd5a320d68 Merge branch 'upstream-nghttp2' into curl-http2
5dc6921805 nghttp2 2019-11-15 (cc05c5fe)
1b8e2c2a3d nghttp2: Add script to import from upstream

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4560
2020-04-06 08:20:01 -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 0b01530867 Merge branch 'release-3.17' 2020-04-06 06:34:15 -04:00
Craig Scott 49b78e93a7 Merge topic 'docs-CMAKE_FIND_DEBUG_MODE'
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