HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators
Following commit 6377a43814
(CUDA: Support response files with nvcc,
2022-06-01, v3.25.0-rc1~636^2), while determining the compiler ABI, do
not use response files, so that we can extract implicit link flags.
Fixes: #25272
This commit is contained in:
parent
4794505122
commit
e43918b4ca
@ -732,10 +732,16 @@ cm::optional<cmTryCompileResult> cmCoreTryCompile::TryCompileCode(
|
||||
// The link and compile lines for ABI detection step need to not use
|
||||
// response files so we can extract implicit includes given to
|
||||
// the underlying host compiler
|
||||
if (testLangs.find("CUDA") != testLangs.end()) {
|
||||
fprintf(fout, "set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES OFF)\n");
|
||||
fprintf(fout, "set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES OFF)\n");
|
||||
fprintf(fout, "set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS OFF)\n");
|
||||
static std::array<std::string, 2> const noRSP{ { "CUDA", "HIP" } };
|
||||
for (std::string const& lang : noRSP) {
|
||||
if (testLangs.find(lang) != testLangs.end()) {
|
||||
fprintf(fout, "set(CMAKE_%s_USE_RESPONSE_FILE_FOR_INCLUDES OFF)\n",
|
||||
lang.c_str());
|
||||
fprintf(fout, "set(CMAKE_%s_USE_RESPONSE_FILE_FOR_LIBRARIES OFF)\n",
|
||||
lang.c_str());
|
||||
fprintf(fout, "set(CMAKE_%s_USE_RESPONSE_FILE_FOR_OBJECTS OFF)\n",
|
||||
lang.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf(fout, "set(CMAKE_VERBOSE_MAKEFILE 1)\n");
|
||||
|
@ -17,3 +17,7 @@ set_target_properties(MixedStaticLib PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_executable(HIPMixedLanguage main.cxx)
|
||||
target_link_libraries(HIPMixedLanguage PRIVATE MixedStaticLib MixedSharedLib)
|
||||
|
||||
add_executable(HIPMixedLanguageCXX main.cxx)
|
||||
target_link_libraries(HIPMixedLanguageCXX PRIVATE MixedStaticLib MixedSharedLib)
|
||||
set_property(TARGET HIPMixedLanguageCXX PROPERTY LINKER_LANGUAGE CXX)
|
||||
|
Loading…
Reference in New Issue
Block a user