@@ -4,33 +4,28 @@ cmake_policy(SET CMP0114 NEW)
44find_package (Vulkan COMPONENTS glslc REQUIRED)
55
66function (detect_host_compiler)
7+ find_program (GNU_C_COMPILER gcc NO_CMAKE_FIND_ROOT_PATH )
8+ find_program (GNU_CXX_COMPILER g++ NO_CMAKE_FIND_ROOT_PATH )
9+ find_program (CLANG_C_COMPILER clang NO_CMAKE_FIND_ROOT_PATH )
10+ find_program (CLANG_CXX_COMPILER clang++ NO_CMAKE_FIND_ROOT_PATH )
11+
712 if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" )
8- find_program (MSVC_COMPILER cl)
9- find_program (GNU_C_COMPILER gcc)
10- find_program (GNU_CXX_COMPILER g++)
13+ find_program (MSVC_COMPILER cl NO_CMAKE_FIND_ROOT_PATH )
1114 if (MSVC_COMPILER)
1215 set (HOST_C_COMPILER "${MSVC_COMPILER} " PARENT_SCOPE)
1316 set (HOST_CXX_COMPILER "${MSVC_COMPILER} " PARENT_SCOPE)
14- elseif (CLANG_C_COMPILER AND CLANG_CXX_COMPILER)
15- set (HOST_C_COMPILER "${CLANG_C_COMPILER} " PARENT_SCOPE)
16- set (HOST_CXX_COMPILER "${CLANG_CXX_COMPILER} " PARENT_SCOPE)
17- else ()
18- message (WARNING "Neither MSVC nor clang found" )
17+ return ()
1918 endif ()
19+ endif ()
20+
21+ if (GNU_C_COMPILER AND GNU_CXX_COMPILER)
22+ set (HOST_C_COMPILER "${GNU_C_COMPILER} " PARENT_SCOPE)
23+ set (HOST_CXX_COMPILER "${GNU_CXX_COMPILER} " PARENT_SCOPE)
24+ elseif (CLANG_C_COMPILER AND CLANG_CXX_COMPILER)
25+ set (HOST_C_COMPILER "${CLANG_C_COMPILER} " PARENT_SCOPE)
26+ set (HOST_CXX_COMPILER "${CLANG_CXX_COMPILER} " PARENT_SCOPE)
2027 else ()
21- find_program (CLANG_C_COMPILER clang)
22- find_program (CLANG_CXX_COMPILER clang++)
23- find_program (GNU_C_COMPILER gcc)
24- find_program (GNU_CXX_COMPILER g++)
25- if (GNU_C_COMPILER AND GNU_CXX_COMPILER)
26- set (HOST_C_COMPILER "${GNU_C_COMPILER} " PARENT_SCOPE)
27- set (HOST_CXX_COMPILER "${GNU_CXX_COMPILER} " PARENT_SCOPE)
28- elseif (CLANG_C_COMPILER AND CLANG_CXX_COMPILER)
29- set (HOST_C_COMPILER "${CLANG_C_COMPILER} " PARENT_SCOPE)
30- set (HOST_CXX_COMPILER "${CLANG_CXX_COMPILER} " PARENT_SCOPE)
31- else ()
32- message (WARNING "Neither clang nor gcc found" )
33- endif ()
28+ message (WARNING "No suitable host compiler found" )
3429 endif ()
3530endfunction ()
3631
0 commit comments