summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-09-18 19:46:39 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-21 19:34:37 (GMT)
commit18158bf81ccb5269afcfa53cd671cf7f56dc70b5 (patch)
treec7877ec383af7831f4feb431ceb7dbe7d048d368 /Source/cmGeneratorTarget.cxx
parent127b6fa06bf53ad9f31d041a7d11434ca2856c8e (diff)
downloadCMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.zip
CMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.tar.gz
CMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.tar.bz2
HIP: Add support for NVIDIA GPUs
Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r--Source/cmGeneratorTarget.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 80e3392..ca38be6 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -3579,9 +3579,11 @@ void cmGeneratorTarget::AddISPCTargetFlags(std::string& flags) const
}
}
-void cmGeneratorTarget::AddHIPArchitectureFlags(std::string& flags) const
+void cmGeneratorTarget::AddHIPArchitectureFlags(cmBuildStep compileOrLink,
+ std::string const& config,
+ std::string& flags) const
{
- const std::string& arch = this->GetSafeProperty("HIP_ARCHITECTURES");
+ std::string arch = this->GetSafeProperty("HIP_ARCHITECTURES");
if (arch.empty()) {
this->Makefile->IssueMessage(MessageType::FATAL_ERROR,
@@ -3594,6 +3596,11 @@ void cmGeneratorTarget::AddHIPArchitectureFlags(std::string& flags) const
return;
}
+ if (this->Makefile->GetSafeDefinition("CMAKE_HIP_PLATFORM") == "nvidia") {
+ return this->AddCUDAArchitectureFlagsImpl(compileOrLink, config, "HIP",
+ std::move(arch), flags);
+ }
+
cmList options(arch);
for (std::string& option : options) {