Commit 45c95a33 authored by Brad King's avatar Brad King 💬
Browse files

Merge branch 'cuda-external' into release-3.13

Merge-request: !2704
parents 62942969 7b742134
......@@ -84,6 +84,10 @@ void cmMakefileExecutableTargetGenerator::WriteDeviceExecutableRule(
bool relink)
{
#ifdef CMAKE_BUILD_WITH_CMAKE
if (!this->GlobalGenerator->GetLanguageEnabled("CUDA")) {
return;
}
const std::string cuda_lang("CUDA");
cmGeneratorTarget::LinkClosure const* closure =
this->GeneratorTarget->GetLinkClosure(this->ConfigName);
......
......@@ -558,6 +558,10 @@ std::vector<std::string> cmNinjaNormalTargetGenerator::ComputeLinkCmd()
void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement()
{
if (!this->GetGlobalGenerator()->GetLanguageEnabled("CUDA")) {
return;
}
cmGeneratorTarget& genTarget = *this->GetGeneratorTarget();
// determine if we need to do any device linking for this target
......
......@@ -3331,7 +3331,8 @@ bool cmVisualStudio10TargetGenerator::ComputeLinkOptions(
std::vector<std::string> vsTargetVec;
this->AddLibraries(cli, libVec, vsTargetVec, config);
if (std::find(linkClosure->Languages.begin(), linkClosure->Languages.end(),
"CUDA") != linkClosure->Languages.end()) {
"CUDA") != linkClosure->Languages.end() &&
this->CudaOptions[config] != nullptr) {
switch (this->CudaOptions[config]->GetCudaRuntime()) {
case cmVisualStudioGeneratorOptions::CudaRuntimeStatic:
libVec.push_back("cudadevrt.lib");
......
enable_language(C)
add_library(ext_cuda IMPORTED STATIC)
set_property(TARGET ext_cuda PROPERTY IMPORTED_LOCATION "/does_not_exist")
set_property(TARGET ext_cuda PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CUDA")
add_executable(main empty.c)
target_link_libraries(main ext_cuda)
......@@ -6,3 +6,5 @@ run_cmake(link-libraries-TARGET_FILE-genex)
run_cmake(link-libraries-TARGET_FILE-genex-ok)
run_cmake(DetermineFail)
run_cmake(ExternalCUDA)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment