diff options
author | Brad King <brad.king@kitware.com> | 2023-09-18 19:46:39 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-09-21 19:34:37 (GMT) |
commit | 18158bf81ccb5269afcfa53cd671cf7f56dc70b5 (patch) | |
tree | c7877ec383af7831f4feb431ceb7dbe7d048d368 /Source/cmGeneratorTarget.cxx | |
parent | 127b6fa06bf53ad9f31d041a7d11434ca2856c8e (diff) | |
download | CMake-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.cxx | 11 |
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) { |