Commit Graph

10717 Commits

Author SHA1 Message Date
Brad King d7e82a11d5 Merge topic 'fetchcontent-SOURCE_SUBDIR'
592085b94b FetchContent: Add support for SOURCE_SUBDIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4757
2020-05-18 12:31:54 -04:00
Brad King b246dee7db Merge topic 'cuda-clang'
a653ca9504 Tests: Update CUDA tests to work with Clang
5df21adf46 CUDA: Add support for Clang compiler
dc2eae1f91 FindCUDAToolkit: Factor out discovery code into a separate file
70be10cbf4 CUDA: Remove toolkit include dirs from implicit include dirs only with NVIDIA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artem Belevich <tra@google.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Acked-by: friendnick <ikoval67@gmail.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4442
2020-05-18 12:29:44 -04:00
Brad King 31252bd335 Merge topic 'FindOpenSSL-applink'
7b83ca816a FindOpenSSL: add target OpenSSL::applink to support OpenSSL's applink feature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4737
2020-05-18 12:22:24 -04:00
Marc Chevrier e7b9f928f7 FindPython: use CMAKE specific variables to look-up debug library
Fixes: #20714
2020-05-18 15:11:19 +02:00
Marc Chevrier 71e6854b22 FindPython: use CMAKE specific variables to look-up debug library
Fixes: #20714
2020-05-18 15:01:26 +02:00
Craig Scott 592085b94b FetchContent: Add support for SOURCE_SUBDIR
Fixes: #19875
2020-05-16 17:01:10 +10:00
Raul Tambre 5df21adf46 CUDA: Add support for Clang compiler
When crosscompiling we pass the sysroot.

We need to try various architecture flags. Clang doesn't automatically
select one that works.  First try the ones that are more likely to work
for modern installations:

* <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for
          future compatibility.
* <=sm_20 is removed since CUDA 9.0, try sm_30.

Otherwise fallback to Clang's current default. Currently that's `sm_20`,
the lowest it supports.

Separable compilation isn't supported yet.

Fixes: #16586
2020-05-15 17:46:51 +03:00
Raul Tambre dc2eae1f91 FindCUDAToolkit: Factor out discovery code into a separate file
This allows for re-use in other parts of the code, that require the CUDA
toolkit location, but can't or may not want to use the full
`FindCUDAToolkit`.
2020-05-15 17:46:51 +03:00
Brad King 70be10cbf4 CUDA: Remove toolkit include dirs from implicit include dirs only with NVIDIA
The special case added by commit 87df637078 (CUDA: Do not treat CUDA
toolkit include directories as implicit, 2020-02-02, v3.17.0-rc1~31^2)
breaks CMake's protections against changing the compiler's implicit
include directory order.  Do this only for the NVIDIA compiler where it
is needed as a workaround to another problem.  That compiler does not
put the host compiler's implicit include directories in `-I` paths so we
do not detect them as `CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES` anyway.
2020-05-15 17:46:51 +03:00
Brad King a9559ccba5 Merge topic 'objc-env-vars'
13ea190725 Help: Add 3.17.3 release note for Objective C/C++ compiler selection
16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars
67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4746
2020-05-15 09:15:46 -04:00
Brad King 96b6bafd17 Merge topic 'FindSquish-add_test'
2137384202 FindSquish: Make squish_add_test work with any Squish version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4648
2020-05-15 09:14:36 -04:00
gnaggnoyil 7b83ca816a FindOpenSSL: add target OpenSSL::applink to support OpenSSL's applink feature
Fixes: #20701
2020-05-15 15:50:10 +08:00
Brad King 165da10680 Merge topic 'squish_windows_ext'
c587b8d026 FindSquish: Fix target app name on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4742
2020-05-14 07:46:59 -04:00
Brad King 16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars 2020-05-14 07:27:24 -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 b07bc05961 Merge topic 'fix-cache-args-file-to-dep-list' into release-3.17
0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4710
2020-05-13 12:12:28 -04:00
Brad King 0d8aec412a Merge topic 'fix-cache-args-file-to-dep-list'
0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4710
2020-05-13 12:12:28 -04:00
Brad King 3bb261b0fe Merge topic 'conditional-CMAKE_EXPORT_COMPILE_COMMANDS'
fe19df49d4 Initialize CMAKE_EXPORT_COMPILE_COMMANDS only if not set already

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4738
2020-05-13 07:42:52 -04:00
Brad King 7c4f609eed Merge topic 'FindPython-IronPython-support'
e8ffc60220 FindPython: Add IronPython support on all platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4730
2020-05-13 07:41:45 -04:00
Frederik Gladhorn 2137384202 FindSquish: Make squish_add_test work with any Squish version
Update the documentation (Squish 4 is from 2010, so people are likely
using something newer) and let squish_add_test call either the v3 or v4
macro based on the detected Squish version.

This cannot break things, since mixing incompatible versions would not
have worked before.
2020-05-13 07:06:34 -04:00
Frederik Gladhorn c587b8d026 FindSquish: Fix target app name on windows
Windows has .exe in the target name, but Squish only uses the name without extension
which makes things a lot easier when running tests on several platforms.

Discovered when coming back to Windows and doing a fresh build and suddenly the
binary to be tested was no longer found due to the name mismatch.
2020-05-13 11:51:27 +02:00
Ben Boeckel 0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller
This is needed so that the caller can add a dependency on the cache
file.

Fixes: #20668
2020-05-12 10:34:23 -04:00
Brad King fe19df49d4 Initialize CMAKE_EXPORT_COMPILE_COMMANDS only if not set already
Also de-duplicate its initialization code.

Fixes: #16588
2020-05-12 08:08:20 -04:00
Brad King 91dd23d3d5 Merge topic 'pch-msvc-pragma' into release-3.17
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4736
2020-05-12 06:52:40 -04:00
Brad King cd89ebdda2 Merge topic 'pch-msvc-pragma'
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4736
2020-05-12 06:52:40 -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 50f6207c52 Merge topic 'doxygen-generated-sources'
5ec9690802 FindDoxygen: Allow generated files with USE_STAMP_FILE
683abe4366 FindDoxygen: Formatting-only indentation cleanup for test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4726
2020-05-11 10:16:37 -04:00
Brad King 4de2cb4c41 Merge topic 'FindGTK2-harfbuzz-target' into release-3.17
5ab137b7e9 FindGTK2: Add harfbuzz target for dependency from pango

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4725
2020-05-11 10:12:14 -04:00
Brad King 6fa5194dde Merge topic 'FindGTK2-harfbuzz-target'
5ab137b7e9 FindGTK2: Add harfbuzz target for dependency from pango

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4725
2020-05-11 10:12:14 -04:00
Marc Chevrier e8ffc60220 FindPython: Add IronPython support on all platforms 2020-05-11 14:02:59 +02: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
Craig Scott 5ec9690802 FindDoxygen: Allow generated files with USE_STAMP_FILE
Fixes: #20597
2020-05-09 13:35:51 +10:00
Brad King fb4959eadc Merge topic 'FindPython-check-specified-version'
71229f2c85 Merge branch 'backport-3.17-FindPython-check-specified-version' into FindPython-check-specified-version
e1c869906c FindPython: ensure any specified version is correctly handled
25978c7a00 FindPython: ensure any specified version is correctly handled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4718
2020-05-08 08:02:24 -04:00
Brad King adef7c09d0 Merge topic 'ow-mult-platforms'
4adfd2a3aa OpenWatcom: Add cross-compilation support for Windows
43c3243c2d OpenWatcom: Fix Linux support file
d26eea220a OpenWatcom: Add OS/2 target support
0ab583d787 OpenWatcom: Add DOS target support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4702
2020-05-07 09:35:43 -04:00
Brad King 07d567c0ce Merge topic 'FindVulkan-use-SDK-env-variable'
590cde6125 FindVulkan: Prefer VULKAN_SDK env var before standard paths on UNIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4714
2020-05-07 09:34:41 -04:00
Brad King 0dcb436fab Merge topic 'compiler-sysroot-slashes'
2e831e4a17 Windows: Normalize slashes in compiler -print-sysroot path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4715
2020-05-07 09:33:11 -04:00
Marc Chevrier e1c869906c FindPython: ensure any specified version is correctly handled
Fixes: #20674
2020-05-07 11:20:43 +02:00
Marc Chevrier 25978c7a00 FindPython: ensure any specified version is correctly handled
Fixes: #20674
2020-05-07 11:19:36 +02:00
Jiri Malak 4adfd2a3aa OpenWatcom: Add cross-compilation support for Windows
Add system header files directories for cross-compilation
2020-05-06 13:10:43 -04:00
Jiri Malak 43c3243c2d OpenWatcom: Fix Linux support file
Fix CMAKE_SHARED_LINKER_FLAGS_INIT macro
Fix executable file name for Linux to be without extension
Add system header files directory for cross-compilation
2020-05-06 13:09:58 -04:00
Jiri Malak d26eea220a OpenWatcom: Add OS/2 target support
OS/2 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.

It is used if CMAKE_SYSTEM_NAME=OS2 is defined.

If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit OS/2 target is
used, otherwise 32-bit OS/2 target is used.
2020-05-06 13:09:28 -04:00
Jiri Malak 0ab583d787 OpenWatcom: Add DOS target support
DOS 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.

It is used if CMAKE_SYSTEM_NAME=DOS is defined.

If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit DOS target is used,
otherwise 32-bit DOS target is used.
2020-05-06 13:09:00 -04:00
Patric Schmitz 590cde6125 FindVulkan: Prefer VULKAN_SDK env var before standard paths on UNIX
Also document the variable.

Fixes: #18346
2020-05-06 16:07:49 +02:00
Brad King b86dfa2056 Merge topic 'gtest-space-in-parameter'
839a1010a3 GoogleTestAddTests: Fix output processing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4694
2020-05-06 09:31:53 -04:00
Brad King 6ccbf6ba71 Merge topic 'FindPkgConfig-isystem' into release-3.17
e9d93c3731 Help: Add 3.17 release note for FindPkgConfig '-isystem' fix
dfaaae67a3 Merge branch 'backport-3.16-FindPkgConfig-isystem'
4d446c68d1 FindPkgConfig: also handle "-isystem" prefixes for include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4693
2020-05-06 09:28:30 -04:00
Brad King 1aecbda756 Merge topic 'FindPkgConfig-isystem'
502e562940 Merge branch 'backport-3.17-FindPkgConfig-isystem' into FindPkgConfig-isystem
e9d93c3731 Help: Add 3.17 release note for FindPkgConfig '-isystem' fix
dfaaae67a3 Merge branch 'backport-3.16-FindPkgConfig-isystem'
cd31a8acef FindPkgConfig: also handle "-isystem" prefixes for include directories
4d446c68d1 FindPkgConfig: also handle "-isystem" prefixes for include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4693
2020-05-06 09:28:30 -04:00
Brad King 4ec59891ad Merge topic 'CheckLanguage-cuda-host' into release-3.17
5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4711
2020-05-06 09:27:13 -04:00
Brad King 1cadb625f2 Merge topic 'CheckLanguage-cuda-host'
5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4711
2020-05-06 09:27:13 -04:00
Brad King 2e831e4a17 Windows: Normalize slashes in compiler -print-sysroot path
Since commit 8cc384f629 (Compilers: Add paths from -print-sysroot to
system prefix path, 2020-03-25) we detect the compiler `-print-sysroot`
output and save it.  On Windows, the value may include backslashes.
Convert the path to CMake's forward-slash convention for storage.

Fixes: #20679
2020-05-06 08:25:58 -04:00
Brad King dfaaae67a3 Merge branch 'backport-3.16-FindPkgConfig-isystem' 2020-05-06 07:45:55 -04:00