Commit Graph

4337 Commits

Author SHA1 Message Date
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
4acf31d681 Merge topic 'compile_opts'
448e2d7a9d Help: Provide cross-references between compiler settings
1f697b3991 Help: COMPILE_OPTIONS: bundle cross refs, add example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4749
2020-05-18 12:27:31 -04: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
Brad King
ffd41f81c2 Merge topic 'backport-3.16-FindPkgConfig-isystem'
3719ddd3f3 Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4752
2020-05-15 10:32:49 -04:00
Brad King
eb93b50be9 Merge topic 'source_file_scopes'
3d4b70ea64 set_source_files_properties: Allow specification of directory scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4661
2020-05-15 09:58:03 -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
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
Joachim Wuttke (h)
448e2d7a9d Help: Provide cross-references between compiler settings 2020-05-14 22:17:10 +02:00
Joachim Wuttke (h)
1f697b3991 Help: COMPILE_OPTIONS: bundle cross refs, add example 2020-05-14 22:05:30 +02:00
Alexandru Croitor
3d4b70ea64 set_source_files_properties: Allow specification of directory scope
Both set_source_files_properties() and set_property(SOURCE) now accept
two new optional arguments: DIRECTORY and TARGET_DIRECTORY.

The DIRECTORY option takes a list of relative or absolute paths
pointing to processed source directories (add_subdirectory was
already called on them).

These paths specify directory scopes where the source file properties
will be set. Previously the scope was always the currently processed
source directory.

Similarly TARGET_DIRECTORY takes a list of targets, whose source
directories will be used as the list of scopes where to set the
source file properties.

get_property() and get_source_file_property() also get the same
new arguments, except only one value can be specified instead
of a list.

Fixes: #20128
2020-05-14 16:31:22 +02: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
13ea190725 Help: Add 3.17.3 release note for Objective C/C++ compiler selection
Port the 3.16.7 release note for 3.17.3 too.
2020-05-14 07:28:46 -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
ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers 2020-05-14 07:10:06 -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
Robert Maynard
caf5d3f71b Help: Add an example for each UNITY_BUILD_MODE setting 2020-05-11 12:20:01 -04:00
Brad King
d4b1d3d4f0 Merge topic 'source_group_forward_slashes'
faf44a8cdb source_group: Support forward slashes in group hierarchy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4727
2020-05-11 10:14:24 -04:00
Brad King
cee7eb8b3a Merge topic 'unity_explicit_groups'
9f4eb352fe Unity Builds: Support explicit specification of sources to groups
b00585adcc Unity: Refactor implementation to make it easier to extend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4716
2020-05-11 10:08:12 -04:00
Marc Chevrier
e8ffc60220 FindPython: Add IronPython support on all platforms 2020-05-11 14:02:59 +02:00
Craig Scott
faf44a8cdb source_group: Support forward slashes in group hierarchy
Fixes: #18076
2020-05-11 08:15:25 +10:00
Craig Scott
8afac758e6 Merge topic 'doc-option-existing-var'
36a6d91011 Help: If a cache variable exists, option() also does nothing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4721
2020-05-10 02:34:25 -04:00
Brad King
fe82e1b45f Merge topic 'install-rpath-escape-doc'
495951ea68 Help: Mention CMP0095 in INSTALL_RPATH documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4720
2020-05-08 08:19:10 -04:00
Brad King
171bf5fa92 Merge topic 'third-parties-layout'
2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
75e87e3db4 bootstrap: update list of problematic files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4705
2020-05-08 08:18:17 -04:00
Hong Xu
36a6d91011 Help: If a cache variable exists, option() also does nothing
The previous text sounded as if option() does some work when a
cache variable exists.
2020-05-08 18:30:27 +10:00
Ben Boeckel
e4f398e0af Help: add alt text to embedded images 2020-05-07 13:25:57 -04:00
Kyle Edwards
495951ea68 Help: Mention CMP0095 in INSTALL_RPATH documentation 2020-05-07 11:58:46 -04:00
Robert Maynard
9f4eb352fe Unity Builds: Support explicit specification of sources to groups
Instead of having CMake determine which files should go into each
unity file, the user can now use explicitly state the mapping.
2020-05-07 11:13:34 -04:00
Craig Scott
b743ffbfa2 Merge topic 'script-mode-and-arbitrary-args'
e4f1b301fe cmake: Allow arbitrary args passed to CMake script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4707
2020-05-07 09:09:52 -04:00
Marc Chevrier
2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
Fixes: #20666
2020-05-07 12:06:08 +02:00
Brad King
502e562940 Merge branch 'backport-3.17-FindPkgConfig-isystem' into FindPkgConfig-isystem 2020-05-06 07:48:23 -04:00
Brad King
e9d93c3731 Help: Add 3.17 release note for FindPkgConfig '-isystem' fix 2020-05-06 07:46:35 -04:00
Alex Turbov
e4f1b301fe cmake: Allow arbitrary args passed to CMake script 2020-05-06 21:40:36 +10:00
Marc Chevrier
c1ef70d4d1 FindPython: Add support for 'PyPy' 2020-05-01 15:03:04 +02:00
Brad King
6556e587ef Merge topic 'FPHSA-handle-components'
0b6332af60 FPHSA: REQUIRED_VARS is optional if HANDLE_COMPONENTS is specified

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4690
2020-05-01 08:33:30 -04:00
Brad King
8228246d9b Merge topic 'CTestCoverageCollectGCOV-compress-opts'
40ca6ef125 CTestCoverageCollectGCOV: Add TARBALL_COMPRESSION option
81e83510a0 Tests: Fix re-running CTestCoverageCollectGCOV on in-source build
ab7eda2591 Tests: Remove unnecessary pass regex on CTestCoverageCollectGCOV

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4649
2020-05-01 08:28:50 -04:00
Brad King
d1d1d4134d Merge topic 'ctest-nightly-start-time'
4f2fa2459a Tests: Add tests to demonstrate when CTEST_NIGHTLY_START_TIME is needed
c1397ace1d Help: Clarify why CTEST_NIGHTLY_START_TIME is needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4688
2020-05-01 08:26:29 -04:00
Kelly (KT) Thompson
40ca6ef125 CTestCoverageCollectGCOV: Add TARBALL_COMPRESSION option
For large projects, the default bzip2 compression of gcov data is
prohibitively expensively (could take several hours).  Introduce options
that allow the consumer to choose between file size and compression time.

Add a new optional argument `TARBALL_COMPRESSION` for the macro
`ctest_coverage_collect_gcov`. This option accepts the values `GZIP`,
`BZIP2`, `XZ`, `FROM_EXT`, or an expression that evaluates to `FALSE`.
The default value is `BZIP2` to preserve prior behavior.

Fixes: #20593
2020-04-30 08:42:00 -04:00
Craig Scott
1665d5615f Merge topic 'doc-PROJECT_SOURCE_DIR'
bd6e437e3e Help: Clarify the use of PROJECT_SOURCE_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4680
2020-04-30 08:07:32 -04:00
Marc Chevrier
0b6332af60 FPHSA: REQUIRED_VARS is optional if HANDLE_COMPONENTS is specified
Fixes: #20655
2020-04-30 10:54:36 +02:00
Kyle Edwards
c1397ace1d Help: Clarify why CTEST_NIGHTLY_START_TIME is needed 2020-04-29 14:49:19 -04:00
Brad King
d63c442a6b Merge topic 'vs_platform_toolset'
197b4cbe18 VS: Add option for per-target PlatformToolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4682
2020-04-29 10:50:42 -04:00
Nicolas Bock
bd6e437e3e Help: Clarify the use of PROJECT_SOURCE_DIR
The value of the PROJECT_SOURCE_DIR variable is not always the source
directory of the "most recent project command". If the project was
included via add_subdirectory, variable scoping will prevent this
value to change in the parent scope.

Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2020-04-29 23:17:41 +10:00
Julien Jemine
197b4cbe18 VS: Add option for per-target PlatformToolset
Add a `VS_PLATFORM_TOOLSET` target property to set `PlatformToolset` in
the `.vcxproj` file for specific targets.  Document that this is safe
only when the named toolset uses the same underlying compiler as the
primary toolset.

Fixes: #17429
2020-04-29 07:35:57 -04:00
Brad King
959acdc9e6 Merge topic 'FindLibXslt-targets'
8a90ef5a44 FindLibXslt: use LIBXSLT_LIBRARY as cache variable
1aa7df4114 FindLibXslt: provide imported targets
dd506714f4 FindLibXslt: identify libexslt include directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4650
2020-04-29 07:33:50 -04:00
Brad King
c9fdee6a67 Merge topic 'FindPython-find-implementations'
d2c47c822b FindPython: Add capability to specify Python implementations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4676
2020-04-29 07:30:24 -04:00
Markus Rickert
1aa7df4114 FindLibXslt: provide imported targets 2020-04-28 19:14:03 +02:00
Marc Chevrier
d2c47c822b FindPython: Add capability to specify Python implementations
Through hint Python_FIND_IMPLEMENTATIONS it is possble to specify, as an
ordered list, which implementations must be searched for.
Currently possible values are:
* CPython
* IronPython
2020-04-28 13:56:18 +02:00
Brad King
73f81c5070 Merge topic 'FindLAPACK-target'
4ed936d1b8 FindLAPACK: Provide the LAPACK::LAPACK import target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4677
2020-04-28 07:18:41 -04:00
Brad King
25cbd22afb Merge topic 'pch-genex-absolute'
b204bae261 target_precompile_headers: Fix documented example using genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !4678
2020-04-28 07:09:01 -04:00