45730 Commits

Author SHA1 Message Date
Brad King
e14974a208 CMake 3.16.7 v3.16.7 2020-05-27 06:13:45 -04:00
Brad King
041e57a2b0 Merge branch 'vs-sln-version' into release-3.16
Merge-request: !4765
2020-05-19 08:39:59 -04:00
Brad King
88ad02f1ec VS: Restore .sln support for VS Version Selector
Since commit 3b51343ea1 (VS: Emit UTF-8 BOM for generated solution files,
2019-08-19, v3.16.0-rc1~237^2) the `.sln` file does not work with the
VS Version Selector.  Add a newline after the BOM to restore support.

Fixes: #20725
2020-05-19 08:24:37 -04:00
Brad King
36599e2a7a Merge branch 'fix-ClearSourcesCache' into release-3.16
Merge-request: !4751
2020-05-15 09:53:05 -04:00
Brad King
481100ecbc Merge branch 'backport-3.16-FindPkgConfig-isystem' into release-3.16
Merge-request: !4752
2020-05-15 09:48:51 -04:00
Brad King
3719ddd3f3 Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix
Add a release note for the change in commit 4d446c68d1 (FindPkgConfig:
also handle "-isystem" prefixes for include directories, 2020-04-30).
2020-05-15 09:46:06 -04:00
Brad King
a9f4f58f0c cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache
In commit 40aa6c059c (cmGeneratorTarget: Add method to collect all
sources for all configs, 2017-04-10, v3.9.0-rc1~268^2~5) we forgot to
update `ClearSourcesCache` to also clear `AllConfigSources`.  This leads
to subtle cases where code paths like PCH handling that add sources
during generation break depending on ordering.

Suggested-by: Christian Fersch
Fixes: #20712, #20702
2020-05-15 08:26:43 -04:00
Brad King
b1a3131cc6 Merge branch 'backport-3.16-objc-env-vars' into release-3.16 2020-05-14 07:31:32 -04:00
Brad King
67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
If the `OBJC` or `OBJCXX` environment variable is not set to specify an
Objective C or C++ compiler, check `CC` or `CXX` too.

Fixes: #20703
2020-05-14 07:17:48 -04:00
Brad King
ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers 2020-05-14 07:10:06 -04:00
Brad King
4b810405a4 Merge branch 'pch-msvc-pragma' into release-3.16
Merge-request: !4736
2020-05-11 13:34:25 -04:00
Brad King
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above
VS 2017 15.6 introduced support for this pragma.  Older MSVC versions
warn that it is unknown.

Fixes: #20692
2020-05-11 13:31:15 -04:00
Brad King
9cd0523a33 Merge branch 'vs-pch-compile-opts' into release-3.16
Merge-request: !4734
2020-05-11 12:03:45 -04:00
Brad King
6b2fb4ffd2 VS: Fix using PCH from source with COMPILE_OPTIONS
If a source file gets per-source flags from both PCH and custom
`COMPILE_OPTIONS`, combine them correctly.

Fixes: #20694, #20456
2020-05-11 11:58:41 -04:00
Brad King
68f60c073f Merge branch 'FindGTK2-harfbuzz-target' into release-3.16
Merge-request: !4725
2020-05-09 06:40:26 -04:00
Brad King
5ab137b7e9 FindGTK2: Add harfbuzz target for dependency from pango
Since commit effafca77e (FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRS,
2019-10-01, v3.16.0-rc1~22^2), pango's dependency on harfbuzz has been
captured, but only for the `GTK2_INCLUDE_DIRS` and `GTK2_LIBRARIES`
variables.  Add the `GTK2::harfbuzz` imported target and update the
`GTK2::pango` target to depend on it.

Issue: #19531
2020-05-09 06:38:18 -04:00
Brad King
6687a82000 Merge branch 'backport-3.16-FindPkgConfig-isystem' into release-3.16
Merge-request: !4693
2020-05-06 07:50:20 -04:00
Rolf Eike Beer
4d446c68d1 FindPkgConfig: also handle "-isystem" prefixes for include directories
Fixes: #20652
2020-05-05 18:30:38 +02:00
Brad King
f9283f005b Merge branch 'CheckLanguage-cuda-host' into release-3.16
Merge-request: !4711
2020-05-05 10:00:54 -04:00
Brad King
5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
Fix the condition added by commit fada8cbfd6 (CheckLanguage: Report
CMAKE_CUDA_HOST_COMPILER if needed for compilation, 2019-05-31,
v3.15.0-rc1~12^2) to activate CUDA-specific logic.  The old condition
had worked in our test suite only by accident because the loop variable
used in the test happened to be the name and value that the old
condition used!  Update the test to use a different name.

Fixes: #19013
2020-05-05 09:50:29 -04:00
Brad King
a9490db798 Merge branch 'makefile-objc' into release-3.16
Merge-request: !4675
2020-04-28 07:04:44 -04:00
Brad King
c4d09fdc6d Makefiles: Add Objective C/C++ compilations to compile_commands.json
Fixes: #20634
2020-04-28 07:03:07 -04:00
Brad King
98aa628f0b Makefiles: Scan Objective C/C++ preprocessor dependencies
Fixes: #20635
2020-04-28 07:03:07 -04:00
Brad King
1d39c1e27b Merge branch 'pch-genex-absolute' into release-3.16
Merge-request: !4678
2020-04-27 14:15:52 -04:00
Brad King
b204bae261 target_precompile_headers: Fix documented example using genex
When the path to a header file is specified using a generator
expression, evaluation of the genex must produce an absolute path.
Update our documented example and add a test covering the case.

Fixes: #20617
2020-04-27 14:12:41 -04:00
Brad King
6046baecce Merge branch 'ibmi-aix-exports' into release-3.16
Merge-request: !4611
2020-04-14 14:50:11 -04:00
Brad King
096958dfce Merge branch 'FindMPI-pgi-spectrum-mpi-wrappers' into release-3.16
Merge-request: !4598
2020-04-14 14:49:56 -04:00
Brad King
420e91c951 AIX: Activate symbol export/import IBM i (OS400)
Fixes: #20582
2020-04-14 14:45:51 -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
Brad King
4c82f309c5 CMake 3.16.6 v3.16.6 2020-04-10 07:37:32 -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
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
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
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
Brad King
6fdf05db7a Merge branch 'make-nested-silent' into release-3.16
Merge-request: !4515
2020-03-26 07:37:06 -04:00
Brad King
d6d9da5178 Makefiles: Fix silencing of nested calls for GNU make 4.3
Since GNU make 4.3, `.SILENT:` no longer causes nested `$(MAKE)` calls
to get `-s` implicitly.  Add the `-s` flag explicitly on such calls to
suppress messages about Entering/Leaving directories.

Fixes: #20487
2020-03-26 07:34:24 -04:00
Brad King
2a085de535 Merge branch 'GetPrerequisites-vcruntime-is-system' into release-3.16
Merge-request: !4506
2020-03-19 10:19:43 -04:00
Err0rC0deX
417b765f5a GetPrerequisites: Classify vcruntime libraries as system
Previously GetPrerequisites classified `vcruntime*.dll` as type "other".
They should be classified as type "system".
2020-03-19 10:17:40 -04:00
Brad King
5a896bbc55 Merge branch 'swift-link-line-spaces' into release-3.16
Merge-request: !4469
2020-03-12 08:49:20 -04:00
Saleem Abdulrasool
af39d1b993 Swift: Fix quoting of library search paths with spaces
The library search paths added by commit 2746c61e6d (Swift: Add library
search paths for dependencies, 2019-06-09, v3.16.0-rc1~561^2) need to be
quoted properly on command lines to handle spaces and such.  This was
already done by `cmLinkLineComputer::ComputeLinkPath` for
non-Swift-specific link directories.
2020-03-12 08:46:11 -04:00
Brad King
2c3cf6371f Merge branch 'ibmi-fix-libuv-build' into release-3.16
Merge-request: !4431
2020-03-06 14:25:50 -05:00
Jesse Gorzinski
7d6bd14dca libuv: Add support for building on IBM i (OS400) 2020-03-06 14:24:01 -05:00
Brad King
2de860513d Merge branch 'cmstd-IBM-i' into release-3.16
Merge-request: !4430
2020-03-05 15:09:09 -05:00
ThePrez
917db8163d cmstd: Remove -isystem option for IBM i (OS400)
Much like AIX, IBM i (OS identifier "OS400") implicitly adds `extern
"C"` around system header files included with the `-isystem` option.
Update the condition added by commit c688b401d3 (cmstd: Modernize CMake
system headers, 2019-08-04, v3.16.0-rc1~81^2~1) to treat `IBM i` as we
do AIX.
2020-03-05 15:07:46 -05:00
Brad King
b7d8c91822 CMake 3.16.5 v3.16.5 2020-03-04 08:50:44 -05:00
Brad King
75d5232e18 Merge branch 'doc-rel-3.16-updates' into release-3.16
Merge-request: !4425
2020-03-04 08:49:19 -05:00