Commit Graph

10530 Commits

Author SHA1 Message Date
Craig Scott
8dca6bd04b FetchContent: Preserve empty string arguments
Fixes: #20579
2020-05-23 23:42:43 +10:00
Craig Scott
cbf2daeed0 ExternalProject: Preserve empty string arguments 2020-05-23 23:41:53 +10:00
Brad King
62816ff88c Merge topic 'fortran-preprocess-property'
3888de23da Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF
66c4e87282 Ninja: Add helper functions to generate Fortran build
5cca1ec893 Ninja: Add helper functions to generate Fortran preprocess rule
b0a6161190 Fortran: Add Fortran_PREPROCESS property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4659
2020-05-22 10:35:10 -04:00
Brad King
a7b3102e00 Merge topic 'support_conda_env'
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path
cd9c3c000f Tests: Update QtAutogen codeeditor test only include headers needed
d806bd2e8c Tests: Update test suite to run in an Anaconda environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
2020-05-22 08:12:24 -04:00
Brad King
b54280beb7 Merge topic 'cuda-default-runtime'
d8eee80e30 Merge branch 'backport-cuda-default-runtime' into cuda-default-runtime
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
1086e930dc CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile
a4ea293153 Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4762
2020-05-22 06:55:37 -04:00
Brad King
d8eee80e30 Merge branch 'backport-cuda-default-runtime' into cuda-default-runtime 2020-05-22 06:50:19 -04:00
Peter Hill
b0a6161190 Fortran: Add Fortran_PREPROCESS property
Issue: #18870
2020-05-21 11:44:14 -04:00
Brad King
d8b3160ce9 Merge topic 'FindPython-debug-library-lookup'
596db17cdd Merge branch 'backport-3.17-FindPython-debug-library-lookup' into FindPython-debug-library-lookup
e7b9f928f7 FindPython: use CMAKE specific variables to look-up debug library
71e6854b22 FindPython: use CMAKE specific variables to look-up debug library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4764
2020-05-21 11:36:09 -04:00
Robert Maynard
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path 2020-05-21 11:32:36 -04:00
Robert Maynard
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.

To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
2020-05-21 11:15:03 -04:00
Craig Scott
ddcc5a350c Merge topic 'doc-CMAKE_SYSTEM_PREFIX_PATH'
6b3d8f281e Document which environment variables effect CMAKE_SYSTEM_PREFIX_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4748
2020-05-20 06:28:11 -04:00
Robert Maynard
6b3d8f281e Document which environment variables effect CMAKE_SYSTEM_PREFIX_PATH 2020-05-19 10:57:09 -04:00
Brad King
2fe2d47b33 Merge topic 'FindHDF5-cleanup'
8fa58aea77 FindHDF5: Clean variables and output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4759
2020-05-19 09:52:22 -04:00
Seth R Johnson
8fa58aea77 FindHDF5: Clean variables and output
The module's functionality is preserved.  Perform cleanups:

- Format some functions
- Change macros to functions
- Fix return value check from execute_process
- Hide status messages unless HDF5_FIND_DEBUG is enabled
- Normalize TRUE/FALSE capitalization

Fixes: #20718
2020-05-18 12:40:01 -04:00
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
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