Commit Graph

9880 Commits

Author SHA1 Message Date
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 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 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
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 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
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 4e6b14c985 Merge branch 'backport-3.16-FindPython-cache-cleanup' into release-3.16
1dc524f2 FindPython: Do not cache computed result variables in CMake 3.16
602d1d82 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4399
2020-02-27 08:33:11 -05:00
Marc Chevrier 1dc524f202 FindPython: Do not cache computed result variables in CMake 3.16
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result
variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the
cache.  They are always computed from other results and so should not be
presented to users in cmake-gui and ccmake to edit.

Issue: #20362
2020-02-26 08:09:21 -05:00
Marc Chevrier 602d1d8201 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache
entries named `_Python...` to users in cmake-gui and ccmake.  Mark those
entries as `INTERNAL` to hide them.

Issue: #20362
2020-02-26 08:09:16 -05:00
Brad King ede4497cb2 Merge branch 'FindPkgConfig-scope' into release-3.16
Merge-request: !4388
2020-02-24 14:45:34 -05:00
Brad King 0aa91f9a66 Merge branch 'backport-cuda-non-device-link' into release-3.16
Merge-request: !4376
2020-02-24 13:36:24 -05:00
Francisco Facioni 738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools
Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response
files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file`
option to avoid long link command lines via a response file.  However,
for non-device linking the host tools are used and the option does not
make sense.  Update the logic to use `--options-file` only for device
linking.  Linking with the host tools already has its own logic for
response files.

Fixes: #19954
2020-02-24 13:31:33 -05:00
Rolf Eike Beer c3e0d1ffe9 FindPkgConfig: set policies CMP0054 and CMP0057 to new
One may encounter warnings if FindPkgConfig is used in any project, even
indirectly, that has set any of these policies to old explicitely or requires
an older version.
2020-02-24 16:42:34 +01:00
Brad King 24d57c2257 Merge topic 'android-ndk-r19-binutils' into release-3.16
e3d3b7ddeb Android: Fix binutils selection with NDK r19+ unified toolchain

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4318
2020-02-04 08:26:39 -05:00
Brad King e3d3b7ddeb Android: Fix binutils selection with NDK r19+ unified toolchain
In commit 97bca2f9fa (Android: Use unified toolchain in NDK r19+,
2019-07-26, v3.16.0-rc1~342^2) we hard-coded use of the unified
toolchain for NDK r19+ and skipped most of the old detection logic.
However, in that fast path we left out setting `_CMAKE_TOOLCHAIN_PREFIX`
for `CMakeFindBinutils` to select the matching binutils.  Add it.

Fixes: #20038
2020-02-03 14:35:12 -05:00
Brad King 203abaf0e9 Merge topic 'aix-skip-exports' into release-3.16
a17f6eff43 AIX: Restore pre-3.16 undocumented method to suppress exports with XL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4303
2020-01-31 09:13:59 -05:00
Brad King a17f6eff43 AIX: Restore pre-3.16 undocumented method to suppress exports with XL
In commit 0f150b69d3 (AIX: Explicitly compute shared object exports for
both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we dropped use of the
old `CMAKE_XL_CreateExportList` cache entry for XL exports.  However,
some people were setting the value to an empty string as a way to
disable automatic export of symbols.  Restore this behavior when the
option is explicitly set to an empty string.

Issue: #20290
2020-01-30 11:38:17 -05:00
Kyle Edwards baec299ecd CPack: Fix regression in Deb description
Fixes: #20254
2020-01-24 08:50:43 -05:00
Kyle Edwards 95a501addb Help: Add more variable documentation to FindMPI 2020-01-22 14:46:09 -05:00
Brad King 39c357b9c4 Merge topic 'msvc-runtime-library-masm' into release-3.16
1421005835 ASM_MASM: Populate MSVC runtime library abstraction table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4257
2020-01-22 09:17:41 -05:00
Brad King 99e1be5d43 Merge branch 'msvc-runtime-library-masm' into release-3.15
Merge-request: !4257
2020-01-21 12:55:36 -05:00
Brad King 1421005835 ASM_MASM: Populate MSVC runtime library abstraction table
In commit fb3370b6a1 (MSVC: Add abstraction for runtime library
selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked populating the
runtime library selection flags for the Microsoft assembler.  It does
not actually have any such flags, but since its compiler id is `MSVC`
our generators expect the table to be populated.  Use empty values.

Without this fix, enabling the `ASM_MASM` language with policy `CMP0091`
set to `NEW` causes an error due to the missing table entries.

Fixes: #20236, #19453
2020-01-21 12:54:50 -05:00
Brad King bcb0816cf9 Merge topic 'InstallRequiredSystemLibraries-redist' into release-3.16
7ca923bcaf IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Andrey Vihrov <andrey.vihrov@gmail.com>
Merge-request: !4247
2020-01-21 09:15:17 -05:00
Brad King 7ca923bcaf IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available
VS now distributes these additional runtime libraries.  Install them if
available.

Fixes: #20228
2020-01-20 13:19:56 -05:00
Brad King 4c907eae69 Merge topic 'findopenssl-dependencies-link-order' into release-3.16
d2880aaa06 FindOpenSSL: Fix ordering of dependency link flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4235
2020-01-17 09:25:23 -05:00
Brad King 8cd35baae9 Merge topic 'nag-submodule' into release-3.16
f7f60ddcf9 Fortran: Add support for NAG Fortran submodules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4229
2020-01-16 10:56:02 -05:00
Ashley Whetter d2880aaa06 FindOpenSSL: Fix ordering of dependency link flags
Fixes: #20082, #20224
2020-01-16 10:53:19 -05:00
Neil Carlson f7f60ddcf9 Fortran: Add support for NAG Fortran submodules
They use a `.sub` extension.

Fixes: #20220
2020-01-15 14:12:22 -05:00
Brad King f0986f62a8 Merge topic 'python39' into release-3.16
f6474214b3 FindPython: Add support for version 3.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Marc Chevrier <marc.chevrier@gmail.com>
Acked-by: Björn Esser <besser82@fedoraproject.org>
Merge-request: !4225
2020-01-15 13:36:35 -05:00
Miro Hrončok f6474214b3 FindPython: Add support for version 3.9
Development versions of Python 3.9.0 are already out there.

See PEP 596 -- Python 3.9 Release Schedule:
https://www.python.org/dev/peps/pep-0596/
2020-01-14 15:02:19 -05:00
Brad King e6c5bed2aa Merge topic 'FindMatlab-r2019' into release-3.16
edb6fe3b6a FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4207
2020-01-14 08:57:18 -05:00
Brad King 789bbcddc0 Merge topic 'FindMatlab-only-CXX' into release-3.16
b704d58f41 FindMatlab: in matlab_add_mex use the correct version file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4206
2020-01-14 08:55:57 -05:00
Silvio Traversaro b704d58f41 FindMatlab: in matlab_add_mex use the correct version file
Before this modification, the c_mexapi_version.c file was added to
all mex libraries. However, if the C language was not enabled
in the CMake project configuration, the c_mexapi_version.c file
was ignored, creating linking errors in Windows and macOS.
This commit ensures that in the case only the CXX languages is enabled,
the correct version is passed.

Fixes: #19382
2020-01-13 10:52:57 -05:00
Silvio Traversaro edb6fe3b6a FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING
Reference for versions: https://www.mathworks.com/products/compiler/matlab-runtime.html

Fixes: #20087
2020-01-13 10:45:54 -05:00
Brad King e8462a105e Merge topic 'fix-cpack-deb-description-file' into release-3.16
d491f34a5e CPack: Fix regression in DEB generator description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4204
2020-01-13 10:23:26 -05:00
Brad King b1a9d49a69 Merge topic 'objc-visibility-inlines' into release-3.16
7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4199
2020-01-13 10:22:06 -05:00
Brad King 01b43e85cf Merge topic 'macOS-Xcode-11-frameworks' into release-3.16
fcde42751a FindPython: ensure new Xcode framework for Python3 is detected
dd7b741b81 macOS: Add support for new Xcode 11 frameworks directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4198
2020-01-13 10:20:58 -05:00
Kyle Edwards d491f34a5e CPack: Fix regression in DEB generator description
Fixes: #20102
2020-01-10 17:22:52 -05:00
Brad King a7fc5df5d3 Merge topic 'GNUtoMS-vs2019' into release-3.16
08c5b3eff0 GNUtoMS: Add search path for VS 2019 environment scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4197
2020-01-10 13:20:03 -05:00
Cristian Adam 7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support
Fixes: #20193
2020-01-10 16:31:27 +01:00
Marc Chevrier fcde42751a FindPython: ensure new Xcode framework for Python3 is detected 2020-01-10 13:48:39 +01:00
Marc Chevrier dd7b741b81 macOS: Add support for new Xcode 11 frameworks directory
Update CMAKE_SYSTEM_FRAMEWORK_PATH with new Xcode 11 frameworks directory
2020-01-10 13:48:39 +01:00