Commit Graph

155 Commits

Author SHA1 Message Date
Brad King
83dab0c123 FindThreads: Drop IRIX-specific options and results
We do not need to support IRIX anymore, so drop relevant parts.  In
particular, the `CMAKE_THREAD_PREFER_PTHREAD` is frequently confused
with `THREADS_PREFER_PTHREAD_FLAG`.

Also remove references to the IRIX-specific options and results
from other modules and tests.
2018-12-07 13:33:01 -05:00
Joachim Wuttke (o)
19998d7b3c Help: Use 'deprecated' template, and date deprecation of modules 2018-10-25 12:23:33 +02:00
Kitware Robot
df4ed1e9ff Help: Convert remaining modules to block-style comments 2018-10-22 11:09:34 -04:00
Brad King
9964808108 Merge topic 'FindCUDA-ccbin-env'
8085799ce3 FindCUDA: Add option to set CUDA_HOST_COMPILER via environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2391
2018-09-20 09:35:45 -04:00
peterjc123
8085799ce3 FindCUDA: Add option to set CUDA_HOST_COMPILER via environment
Re-use the `CUDAHOSTCXX` environment variable from the first-class
CUDA language support to specify the host compiler for FindCUDA.
2018-09-18 11:41:47 -04:00
Nikolaus Wittenstein
6209434b44 FindCUDA: Fix "alphabetical" typo 2018-09-14 14:53:03 -04:00
Kenta Kubo
bdf1f36135 FindCUDA: Do not find cublas_device on CUDA >= 9.2
The `cublas_device` has been deprecated and will be removed in
future versions of CUDA.

Issue: #18290
2018-08-23 14:49:46 -04:00
luz.paz
be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Brad King
d54796cbd9 Merge topic 'FindCUDA-sccache'
53ffff2277 FindCUDA: Add support for sccache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2050
2018-05-11 09:22:01 -04:00
Will Feng
53ffff2277 FindCUDA: Add support for sccache
When `CMAKE_C_COMPILER` is `sccache`, pass plain `cl` as the host
compiler to `nvcc`.  Otherwise, `nvcc` does not accept it.
2018-05-09 08:24:22 -04:00
Brad King
6ab7267d2a Merge topic 'FindCUDA-revert-sepcomp-cublas'
9a66345752 FindCUDA: Fix regression in separable compilation without cublas

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2048
2018-05-08 08:26:46 -04:00
Brad King
9a66345752 FindCUDA: Fix regression in separable compilation without cublas
Revert commit v3.11.0-rc1~274^2 (FindCUDA: Add cublas device library to
separable compilation, 2017-11-03).  It breaks targets that do not link
to cublas.  Another solution will be needed to solve the original
problem in a more compatible way.

Fixes: #17965
2018-05-07 11:30:21 -04:00
Edward Z. Yang
2da3698447 FindCUDA: Add support for clcache
When `CMAKE_C_COMPILER` is `clcache`, pass plain `cl` as the host
compiler to `nvcc`.  Otherwise, `nvcc` does not accept it.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2018-04-06 11:21:34 -04:00
Edward Z. Yang
23119366e9 FindCUDA: Make nvcc configurable via CUDA_NVCC_EXECUTABLE env var
This is useful if, for example, you want ccache to be used
for nvcc.  With the current behavior, cmake always picks up
/usr/local/cuda/bin/nvcc, even if there is a ccache nvcc
stub in the PATH.  Allowing for CUDA_NVCC_EXECUTABLE lets
us work around the problem.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2018-03-29 10:48:02 -04:00
luz.paz
193082a3c8 MAINT: Misc. typos
Found via `codespell -q 3 -I ../cmake-whitelist.txt`.
2018-02-13 11:24:30 -05:00
Brad King
9f74aaeb7d FindCUDA: Fix regression in per-config flags
Changes in commit 48f7e2d300 (Unhardcode the CMAKE_CONFIGURATION_TYPES
values, 2017-11-27) accidentally left `CUDA_configuration_types`
undefined, but this is used in a few places to handle per-config flags.
Restore it.

Fixes: #17671
2018-01-30 08:18:11 -05:00
luz.paz
d91b2d9158 MAINT: Misc. typos
Found via `codespell`
2018-01-10 12:34:14 -05:00
Brad King
d08f3f551f Merge topic 'unhardcode-configuration-types'
1f4d7a07 Help: Add references and backticks in LINK_FLAGS prop_tgt
48f7e2d3 Unhardcode the CMAKE_CONFIGURATION_TYPES values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1345
2018-01-10 10:35:04 -05:00
Brad King
5fbfa18fad Merge topic 'FindCUDA-deduplicate-c+std-host-flags'
ff41a4b8 FindCUDA: de-duplicates C++11 flag when propagating host flags.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1628
2018-01-09 09:26:51 -05:00
Brad King
bc88329e5b Merge topic 'msvc2017-findcuda'
fab1b432 FindCUDA: Update to properly find MSVC 2017 compiler tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1631
2018-01-09 09:26:20 -05:00
Beren Minor
48f7e2d300
Unhardcode the CMAKE_CONFIGURATION_TYPES values
This removes duplicated code for per-config variable initialization by
providing a `cmake_initialize_per_config_variable(<PREFIX> <DOCSTRING>)`
function.

This function initializes a `<PREFIX>` cache variable from `<PREFIX>_INIT`
and unless the `CMAKE_NOT_USING_CONFIG_FLAGS` variable is defined, does
the same with `<PREFIX>_<CONFIG>` from `<PREFIX>_<CONFIG>_INIT` for every
`<CONFIG>` in `CMAKE_CONFIGURATION_TYPES` for multi-config generators or
`CMAKE_BUILD_TYPE` for single-config generators.
2018-01-08 21:15:14 +01:00
Aaron Bray
fab1b432eb FindCUDA: Update to properly find MSVC 2017 compiler tools
An implementation that handles the different installation locations of
visual studio compiler tools
2018-01-08 11:35:36 -05:00
Brad King
f7f34a46e6 Merge topic 'use_generator_is_multi_config'
3c413e2a GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules
c267ea1c GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1627
2018-01-08 11:14:16 -05:00
David Hirvonen
ff41a4b817 FindCUDA: de-duplicates C++11 flag when propagating host flags. 2018-01-06 17:00:09 -05:00
Luz Paz
3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Craig Scott
3c413e2a31 GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules 2017-12-30 09:35:56 +11:00
Brad King
21806e6f5f Merge topic 'findcuda-separable-compilation-fix'
3726ded1 FindCUDA: Add cublas device library to separable compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1446
2017-11-30 07:55:59 -05:00
Jamil Appa
3726ded116 FindCUDA: Add cublas device library to separable compilation
Add cublas libraries to separable compilation device link line to
resolve missing symbols when using cublas device library.
2017-11-29 11:44:42 -05:00
Christian Pfeiffer
a62d50ec56 Modules: Replace coded PATHS with PATH_SUFFIXES
Some modules assume that `/usr` and `/usr/local` are the only
`CMAKE_PREFIX_PATH` entries and explicitly enumerate all paths instead
of using `PATH_SUFFIXES` and relying on the dynamic set of prefix paths.
This commit attempts to rectify that behavior.
2017-11-20 16:29:25 +01:00
luzpaz
777e87ae00 Fix trivial typos in text
Some are user facing.

Found using

    codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`

whereby the whitelist contained:

    ans
    dum
    helpfull
    emmited
    emmitted
    buil
    iff
    isnt
    nto
    ot
    pathes
    substract
    te
    todays
    upto
    whitespaces
2017-11-03 10:25:05 -04:00
Henry Schreiner
17ddf126f0 FindCUDA: Improve documentation formatting markup 2017-10-23 12:17:38 -04:00
Robert Maynard
16589bf46f FindCUDA: Update for CUDA 9 breakup of nppi into multiple libraries
Fixes: #17310
2017-10-06 11:05:35 -04:00
Brad King
d4b70a20fa Merge topic 'FindCUDA-superseded'
ae813b6b FindCUDA: Document that module has been superseded

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1124
2017-08-11 09:12:37 -04:00
Brad King
ae813b6bcc FindCUDA: Document that module has been superseded
Add a note at the top of the module documentation to point readers
at the first-class support for the CUDA language.
2017-08-10 10:22:53 -04:00
Robert Maynard
d9c8aa47c2 FindCUDA: Always obey the CUDA_USE_STATIC_CUDA_RUNTIME option.
Fixes #17150, where the FindCUDA would incorrectly handle
CUDA_USE_STATIC_CUDA_RUNTIME being set to false.
2017-08-10 09:33:06 -04:00
Brad King
4fd6507a52 Merge topic 'FindCUDA-no-empty-genex'
a3e442bb FindCUDA: Fix CUDA_NVCC_FLAGS_<CONFIG> for separable compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1008
2017-06-27 09:21:15 -04:00
Robert Maynard
a3e442bbfc FindCUDA: Fix CUDA_NVCC_FLAGS_<CONFIG> for separable compilation
Since commit v3.0.0-rc6~3^2 (FindCUDA: Use CUDA_NVCC_FLAGS* for
separable compilation, 2014-05-18), using the feature for one
configuration results in empty-string ("") arguments on the command line
for other configurations.  This is because the generator expression for
a non-matching configuration evaluates to an empty string but does not
remove the argument.  Use `COMMAND_EXPAND_LISTS` to remove the empty
arguments from the custom command after genex evaluation.

Fixes: #16411
2017-06-26 14:59:05 -04:00
Maxime Roussin-Bélanger
46d25e782e FindCUDA: Use find_program if find_host_program is not available
CMake does not define the `find_host_program` command we've been using
in the cross-compiling code path.  It was provided by a widely used
Android toolchain file.  For compatibility, continue to use
`find_host_program` if available, but otherwise use just `find_program`.

Fixes: #16509
2017-06-26 13:10:54 -04:00
Daniel Pfeifer
9e24af0137 Use string(APPEND) in Modules
Automate with:

find Modules -type f -print0 | xargs -0 perl -i -0pe \
  's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2017-05-17 11:26:11 -06:00
Taylor Braun-Jones
9f41bfd7b9 FindCUDA: Add option to use modern form of target_link_libraries
This adds the option CUDA_LINK_LIBRARIES_KEYWORD which can be set to PRIVATE,
PUBLIC, or INTERFACE or left empty (the default) to use the old form of
target_link_libraries internally in FindCUDA macros.

Fixes: #16772
2017-04-04 09:43:05 -04:00
Brad King
6a9b30aea3 Merge topic 'cuda_use_cudadevrt_with_separable_compilation'
891e0ebd FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
2016-09-20 08:40:42 -04:00
Robert Maynard
891e0ebdce FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
Issue: #15157
Patch-by: l0calh05t on gitlab.kitware.com
2016-09-20 08:04:30 -04:00
Stephen Sorley
900ee0b800 FindCUDA: Allow cuda_compile* macros to be called more than once per directory
Added a counter as a directory property that gets incremented every time one
of the cuda_compile* macros is called. The value of this counter is then added
to the phony target name passed to CUDA_WRAP_SRCS. This ensures that every call
to one of these macros has its own unique intermediate output directory.
2016-08-31 11:53:01 -04:00
Stephen Sorley
6442709bae FindCUDA: Fix for broken cuda_compile* commands.
The macros CUDA_COMPILE, CUDA_COMPILE_PTX, CUDA_COMPILE_FATBIN, and
CUDA_COMPILE_CUBIN were broken by commit 7ded655 (FindCUDA: Take NVCC
include directories from target properties, 2016-08-16).  This bug is
due to the fact that all of these macros call CUDA_WRAP_SRCS with a
target name that's not an actual target, causing the new generator
expressions to fail.

Fix the bug by changing these macros to pass "PHONY" to CUDA_WRAP_SRCS.
Now, when CUDA_WRAP_SRCS sees "PHONY", it falls back to the old behavior
of populating the include directories and compile definitions from
directory properties, instead of using target generator expressions.
2016-08-31 11:52:43 -04:00
Peter Boettcher
7ded655f7b FindCUDA: Take NVCC include directories from target properties
Fixes issue where include directories specified on the target are
not passed on to NVCC.  This includes both target_include_directories()
as well as include directories added by dependency chaining.

Closes: #14201
2016-08-16 14:16:35 -04:00
Stephen Sorley
1aa5c1bec8 FindCUDA: Fix missing librt on Linux when using static cuda runtime.
Commit 7229ae72 (FindCUDA: Refactor Android(Tegra) support, 2016-04-19)
changed the logic to only add librt to the link line for CUDA versions
6.5 and older.  However, newer versions of CUDA still require librt.
2016-08-12 09:28:38 -04:00
Stephen Sorley
aab1f6e984 FindCUDA: Restore default behavior of CUDA_USE_STATIC_CUDA_RUNTIME
Fix bug introduced by commit 7229ae72 (FindCUDA: Refactor Android(Tegra)
support, 2016-04-19).  `CUDA_USE_STATIC_CUDA_RUNTIME` should be enabled
by default if `cudart_static` is available, and silently disabled if
it is not.
2016-08-12 09:26:30 -04:00
Brad King
8ba870bad6 Merge topic 'FindCUDA-no-windows-librt'
f4e979b1 FindCUDA: Do not look for librt on Windows
2016-08-03 09:20:35 -04:00
Hans Gaiser
15a6ae5cb7 FindCUDA: Add search path for nvcc on Arch 2016-08-02 15:36:07 -04:00
Stephen Sorley
f4e979b126 FindCUDA: Do not look for librt on Windows
Otherwise an incorrect warning appears when compiling with CUDA SDK 6.5
or older and CUDA_USE_STATIC_CUDA_RUNTIME is true.
2016-08-02 09:15:22 -04:00