blt
blt copied to clipboard
SetupCompilerOptions erroneously classifies "CrayClang" as "Clang"
CMake provides "CrayClang" as a compiler ID for the C and CXX Cray compilers based on Clang:
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
SetupCompilerOptions uses matches for Clang to match both Clang and AppleClang:
https://github.com/LLNL/blt/blob/45494b6968553806ac90822d1bc0ed8e2df6db1f/cmake/SetupCompilerOptions.cmake#L33
This causes BLT to erroneously classify CrayClang C and CrayClang CXX as Clang mainline rather than CrayClang.
This results in situations like this:
-- The Fortran compiler identification is Cray 18.0.0
-- The C compiler identification is Clang 18.1.6
-- The CXX compiler identification is Clang 18.1.6
When specifying the cray clang compilers in cmake for CMAKE_C_COMPILER and CMAKE_CXX_COMPILER.