diff options
Diffstat (limited to 'cmake/BuildTools.cmake')
| -rw-r--r-- | cmake/BuildTools.cmake | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cmake/BuildTools.cmake b/cmake/BuildTools.cmake index d6928bb..e2d3e2f 100644 --- a/cmake/BuildTools.cmake +++ b/cmake/BuildTools.cmake @@ -2,15 +2,20 @@ if(CMAKE_GENERATOR MATCHES "Makefiles|Ninja") foreach(language C CXX) if(language STREQUAL "C") - set(names clang cc gcc) + set(names clang-23 clang) + set(compiler_environment CC) else() - set(names clang++ c++ g++) + set(names clang++-23 clang++) + set(compiler_environment CXX) endif() if(CMAKE_${language}_COMPILER) - get_filename_component(requested "${CMAKE_${language}_COMPILER}" NAME) - list(INSERT names 0 "${requested}") + if(NOT IS_ABSOLUTE "${CMAKE_${language}_COMPILER}") + cpsc_find_dependency(PROGRAM CMAKE_${language}_COMPILER + NAMES "${CMAKE_${language}_COMPILER}" REQUIRED) + endif() + elseif("$ENV{${compiler_environment}}" STREQUAL "") + cpsc_find_dependency(PROGRAM CMAKE_${language}_COMPILER NAMES ${names} REQUIRED) endif() - cpsc_find_dependency(PROGRAM CMAKE_${language}_COMPILER NAMES ${names} REQUIRED) # project() would otherwise restore the previous path from this file. set(compiler_info "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}/CMake${language}Compiler.cmake") if(EXISTS "${compiler_info}") |
