FindOpenACC: Keep flags together in imported target usage requirements

If `OpenACC_C_FLAGS` contains `-h acc`, the flag pair needs to
be preserved as a shell command fragment, and must not be split by
de-duplication with other `target_compile_options`.

Fixes: #24963
This commit is contained in:
Brad King 2023-06-02 09:15:40 -04:00
parent a0ce31de18
commit 5a77c2e02a

View File

@ -294,9 +294,9 @@ foreach (LANG IN ITEMS C CXX Fortran)
endif()
if(OpenACC_${LANG}_FLAGS)
set_property(TARGET OpenACC::OpenACC_${LANG} PROPERTY
INTERFACE_COMPILE_OPTIONS "$<$<COMPILE_LANGUAGE:${LANG}>:${OpenACC_${LANG}_OPTIONS}>")
INTERFACE_COMPILE_OPTIONS "$<$<COMPILE_LANGUAGE:${LANG}>:SHELL:${OpenACC_${LANG}_FLAGS}>")
set_property(TARGET OpenACC::OpenACC_${LANG} PROPERTY
INTERFACE_LINK_OPTIONS "$<$<COMPILE_LANGUAGE:${LANG}>:${OpenACC_${LANG}_OPTIONS}>")
INTERFACE_LINK_OPTIONS "$<$<COMPILE_LANGUAGE:${LANG}>:SHELL:${OpenACC_${LANG}_FLAGS}>")
unset(_OpenACC_${LANG}_OPTIONS)
endif()
endforeach()