summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeDetermineCUDACompiler.cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMakeFindBinUtils: Improve switch between MSVC- and GNU-like toolsBrad King2017-11-281-0/+3
| | | | | | | | The switch was not considering some languages, such as `ASM`. Instead of memorizing the list of languages in the condition, use a language specified by the includer. Fixes: #17510
* CUDA: Fix default selection of host compiler used to drive linkingBrad King2017-10-041-1/+29
| | | | | | | | | | | | | | | When no explicit `CMAKE_CUDA_HOST_COMPILER` is specified by the user then we do not pass `-ccbin` to `nvcc`. In this case, nvcc's link line we extract during the compiler identification step may not have the absolute path to the host compiler it uses to drive linking. If it is not absolute, use the `PATH=` from nvcc's output to search for it since that is the one `nvcc` would use. This fixes our internal `CMAKE_CUDA_HOST_LINK_LAUNCHER` value used to construct link lines when using `CUDA` as the linker language. It needs to match the host compiler `nvcc` uses internally during compilation. Fixes: #17323
* Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-1/+1
| | | | This generator has been deprecated since CMake 3.6. Remove it.
* VS: Add support for determining CUDA compiler idBrad King2017-03-101-21/+30
| | | | | Teach `CMakeDetermineCompilerId` how to generate a vcxproj file using the `CMAKE_VS_PLATFORM_TOOLSET_CUDA`.
* CMakeDetermineCUDACompiler: Drop out-of-date commentBrad King2017-02-141-7/+0
|
* CUDA: Detect the toolkit include directoriesRobert Maynard2017-02-101-4/+30
| | | | | The `nvcc -v` output provides what include directories need to be added to use the CUDA toolkit from other languages ( C/C++ ).
* CUDA: Detect implicit link information on WindowsBrad King2017-01-121-1/+9
| | | | | The `nvcc -v` output on Windows uses response files, so load the one we need to extract the full link line.
* CUDA: Find MSVC binutils on WindowsBrad King2017-01-121-3/+7
| | | | | On Windows the host link launcher is just `link.exe`. Find and use that instead of trying to extract the launcher from the `nvcc -v` output.
* CUDA: Detect MSVC architecture idBrad King2017-01-121-0/+4
|
* CUDA: Implement nvcc implicit link line extraction more robustlyBrad King2016-12-131-23/+54
| | | | | | | | | | | | | | Do not assume that the implicit link line is the last line of the output from `nvcc -v`. Instead first find the `LIBRARIES=` line, and then look for that content on a later line. It appears twice. First on a call to `nvlink`, which we ignore. Later it appears on the implicit link line. Extract the latter line. On failure, abort with a `FATAL_ERROR` so that the user does not try to build without proper link information. Once we have the line, parse it with `separate_arguments` using the `UNIX_COMMAND` option just like `CMakeParseImplicitLinkInfo` already does. This robustly parses the command line and removes quoting. Then extract the first argument as the host link launcher.
* CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.Robert Maynard2016-11-141-1/+18
|
* CUDA: Use the host compiler for linking CUDA executables and shared libs.Robert Maynard2016-11-141-5/+37
|
* CUDA: add support for specifying an explicit host compiler.Robert Maynard2016-11-141-1/+12
|
* CUDA: We now properly perform CUDA compiler identification.Robert Maynard2016-11-141-3/+9
|
* CUDA: Add basic CUDA language support for *NIX systems.Robert Maynard2016-11-141-0/+49