@@ -132,11 +132,30 @@ endif()
132132# Find Clang resource directory with Clang executable. 
133133
134134if (NOT  CLANG_RESOURCE_DIR)
135-   find_program (CLANG_EXECUTABLE clang)
135+   find_program (CLANG_EXECUTABLE clang- ${Clang_VERSION_MAJOR}   NAMES  clang )
136136  if (NOT  CLANG_EXECUTABLE)
137137    message (FATAL_ERROR "clang executable not found." )
138138  endif ()
139139
140+   execute_process (
141+     COMMAND  ${CLANG_EXECUTABLE}  -dumpversion
142+     RESULT_VARIABLE  CLANG_DUMP_VERSION_RESULT
143+     OUTPUT_VARIABLE  CLANG_DUMP_VERSION
144+     ERROR_VARIABLE CLANG_DUMP_VERSION_ERROR
145+     OUTPUT_STRIP_TRAILING_WHITESPACE
146+   )
147+ 
148+   if (CLANG_DUMP_VERSION_RESULT)
149+     message (FATAL_ERROR "Error retrieving Clang executable version. \  
150+ Output:\n ${CLANG_DUMP_VERSION_ERROR} " )
151+   endif ()
152+ 
153+   if  (NOT  ${CLANG_DUMP_VERSION}  STREQUAL  ${Clang_VERSION} )
154+     message (FATAL_ERROR "Clang libraries and executable versions differs:\n\  
155+ librairies have version ${Clang_VERSION}  and executable has version \  
156+ ${CLANG_DUMP_VERSION} ."
157+   endif ()
158+ 
140159  execute_process (
141160    COMMAND  ${CLANG_EXECUTABLE}  -print-resource -dir
142161    RESULT_VARIABLE  CLANG_FIND_RESOURCE_DIR_RESULT
@@ -147,7 +166,7 @@ if(NOT CLANG_RESOURCE_DIR)
147166
148167  if (CLANG_FIND_RESOURCE_DIR_RESULT)
149168    message (FATAL_ERROR "Error retrieving Clang resource directory with Clang \  
150-             executable. Output:\n   ${CLANG_FIND_RESOURCE_DIR_ERROR} " )
169+             executable. Output:\n ${CLANG_FIND_RESOURCE_DIR_ERROR} " )
151170  endif ()
152171endif ()
153172
0 commit comments