diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index cb240f988b35b97ccf7e0d02e4573e6a9d90ae92..789e9915949054a9ccea14f41a2cf506b2acb1b3 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -1,5 +1,6 @@
 include(Compiler/Clang)
 __compiler_clang(CXX)
+__compiler_clang_cxx_standards(CXX)
 
 if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
   set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
@@ -13,121 +14,3 @@ endif()
 if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
   set(CMAKE_CXX_CLANG_TIDY_DRIVER_MODE "cl")
 endif()
-
-if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
-    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
-    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
-  endif()
-
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
-    set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
-    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
-    set(CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT ON)
-  elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
-    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
-    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
-  endif()
-
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
-    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
-    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-    set(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT ON)
-  elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
-    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
-    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
-    set(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT ON)
-  endif()
-
-  set(_clang_version_std17 5.0)
-  if(CMAKE_SYSTEM_NAME STREQUAL "Android")
-    set(_clang_version_std17 6.0)
-  endif()
-
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
-    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17")
-    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
-  elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
-    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
-    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
-  endif()
-
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
-    set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++2a")
-    set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++2a")
-  endif()
-
-  unset(_clang_version_std17)
-
-  if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-    # The MSVC standard library requires C++14, and MSVC itself has no
-    # notion of operating in a mode not aware of at least that standard.
-    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++14")
-    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++14")
-    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-
-    # This clang++ is missing some features because of MSVC compatibility.
-    unset(CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT)
-    unset(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT)
-    unset(CMAKE_CXX17_STANDARD__HAS_FULL_SUPPORT)
-    unset(CMAKE_CXX20_STANDARD__HAS_FULL_SUPPORT)
-  endif()
-
-  __compiler_check_default_language_standard(CXX 2.1 98)
-elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.9
-    AND CMAKE_CXX_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.0)
-  # This version of clang-cl and the MSVC version it simulates have
-  # support for -std: flags.
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std:c++14")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std:c++14")
-  if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 6.0)
-    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std:c++17")
-    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std:c++17")
-    set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std:c++latest")
-  else()
-    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std:c++latest")
-  endif()
-
-  __compiler_check_default_language_standard(CXX 3.9 14)
-else()
-  # This version of clang-cl, or the MSVC version it simulates, does not have
-  # language standards.  Set these options as empty strings so the feature
-  # test infrastructure can at least check to see if they are defined.
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "")
-
-  # There is no meaningful default for this
-  set(CMAKE_CXX_STANDARD_DEFAULT "")
-
-  # There are no compiler modes so we only need to test features once.
-  # Override the default macro for this special case.  Pretend that
-  # all language standards are available so that at least compilation
-  # can be attempted.
-  macro(cmake_record_cxx_compile_features)
-    list(APPEND CMAKE_CXX_COMPILE_FEATURES
-      cxx_std_98
-      cxx_std_11
-      cxx_std_14
-      cxx_std_17
-      cxx_std_20
-      )
-    _record_compiler_features(CXX "" CMAKE_CXX_COMPILE_FEATURES)
-  endmacro()
-endif()
diff --git a/Modules/Compiler/Clang-OBJCXX.cmake b/Modules/Compiler/Clang-OBJCXX.cmake
index b01ce6484b8468c736311dd63d55936d39514070..453b5fd7ba1cede39f0936c95c7e07eaa072c8d8 100644
--- a/Modules/Compiler/Clang-OBJCXX.cmake
+++ b/Modules/Compiler/Clang-OBJCXX.cmake
@@ -1,70 +1,3 @@
 include(Compiler/Clang)
 __compiler_clang(OBJCXX)
-
-if("x${CMAKE_OBJCXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
-  if(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 2.1)
-    set(CMAKE_OBJCXX98_STANDARD_COMPILE_OPTION "-std=c++98")
-    set(CMAKE_OBJCXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
-  endif()
-
-  if(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 3.1)
-    set(CMAKE_OBJCXX98_STANDARD__HAS_FULL_SUPPORT ON)
-    set(CMAKE_OBJCXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-    set(CMAKE_OBJCXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
-    set(CMAKE_OBJCXX11_STANDARD__HAS_FULL_SUPPORT ON)
-  elseif(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 2.1)
-    set(CMAKE_OBJCXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
-    set(CMAKE_OBJCXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
-  endif()
-
-  if(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 3.5)
-    set(CMAKE_OBJCXX14_STANDARD_COMPILE_OPTION "-std=c++14")
-    set(CMAKE_OBJCXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-    set(CMAKE_OBJCXX14_STANDARD__HAS_FULL_SUPPORT ON)
-  elseif(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 3.4)
-    set(CMAKE_OBJCXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
-    set(CMAKE_OBJCXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
-    set(CMAKE_OBJCXX14_STANDARD__HAS_FULL_SUPPORT ON)
-  endif()
-
-  set(_clang_version_std17 5.0)
-
-  if (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
-    set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std=c++17")
-    set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
-  elseif (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 3.5)
-    set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
-    set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
-  endif()
-
-  if (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
-    set(CMAKE_OBJCXX20_STANDARD_COMPILE_OPTION "-std=c++2a")
-    set(CMAKE_OBJCXX20_EXTENSION_COMPILE_OPTION "-std=gnu++2a")
-  endif()
-
-  unset(_clang_version_std17)
-
-  __compiler_check_default_language_standard(OBJCXX 2.1 98)
-elseif(CMAKE_OBJCXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.9
-    AND CMAKE_OBJCXX_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.0)
-  # This version of clang-cl and the MSVC version it simulates have
-  # support for -std: flags.
-  set(CMAKE_OBJCXX98_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_OBJCXX98_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_OBJCXX98_STANDARD__HAS_FULL_SUPPORT ON)
-  set(CMAKE_OBJCXX11_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_OBJCXX11_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_OBJCXX14_STANDARD_COMPILE_OPTION "-std:c++14")
-  set(CMAKE_OBJCXX14_EXTENSION_COMPILE_OPTION "-std:c++14")
-  if (CMAKE_OBJCXX_COMPILER_VERSION VERSION_GREATER_EQUAL 6.0)
-    set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std:c++17")
-    set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std:c++17")
-    set(CMAKE_OBJCXX20_STANDARD_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_OBJCXX20_EXTENSION_COMPILE_OPTION "-std:c++latest")
-  else()
-    set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std:c++latest")
-  endif()
-
-  __compiler_check_default_language_standard(OBJCXX 3.9 14)
-endif()
+__compiler_clang_cxx_standards(OBJCXX)
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake
index f65916fb56d257fb7beb7a434b0b2d601b37b8c1..cd47aa63b5ca06990406997fc003d7411feae82f 100644
--- a/Modules/Compiler/Clang.cmake
+++ b/Modules/Compiler/Clang.cmake
@@ -105,3 +105,123 @@ else()
     set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER>)
   endmacro()
 endif()
+
+macro(__compiler_clang_cxx_standards lang)
+  if("x${CMAKE_${lang}_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
+    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 2.1)
+      set(CMAKE_${lang}98_STANDARD_COMPILE_OPTION "-std=c++98")
+      set(CMAKE_${lang}98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+    endif()
+
+    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.1)
+      set(CMAKE_${lang}98_STANDARD__HAS_FULL_SUPPORT ON)
+      set(CMAKE_${lang}11_STANDARD_COMPILE_OPTION "-std=c++11")
+      set(CMAKE_${lang}11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+      set(CMAKE_${lang}11_STANDARD__HAS_FULL_SUPPORT ON)
+    elseif(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 2.1)
+      set(CMAKE_${lang}11_STANDARD_COMPILE_OPTION "-std=c++0x")
+      set(CMAKE_${lang}11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
+    endif()
+
+    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.5)
+      set(CMAKE_${lang}14_STANDARD_COMPILE_OPTION "-std=c++14")
+      set(CMAKE_${lang}14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+      set(CMAKE_${lang}14_STANDARD__HAS_FULL_SUPPORT ON)
+    elseif(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4)
+      set(CMAKE_${lang}14_STANDARD_COMPILE_OPTION "-std=c++1y")
+      set(CMAKE_${lang}14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
+      set(CMAKE_${lang}14_STANDARD__HAS_FULL_SUPPORT ON)
+    endif()
+
+    set(_clang_version_std17 5.0)
+    if(CMAKE_SYSTEM_NAME STREQUAL "Android")
+      set(_clang_version_std17 6.0)
+    endif()
+
+    if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
+      set(CMAKE_${lang}17_STANDARD_COMPILE_OPTION "-std=c++17")
+      set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
+    elseif (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.5)
+      set(CMAKE_${lang}17_STANDARD_COMPILE_OPTION "-std=c++1z")
+      set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
+    endif()
+
+    if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}")
+      set(CMAKE_${lang}20_STANDARD_COMPILE_OPTION "-std=c++2a")
+      set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std=gnu++2a")
+    endif()
+
+    unset(_clang_version_std17)
+
+    if("x${CMAKE_${lang}_SIMULATE_ID}" STREQUAL "xMSVC")
+      # The MSVC standard library requires C++14, and MSVC itself has no
+      # notion of operating in a mode not aware of at least that standard.
+      set(CMAKE_${lang}98_STANDARD_COMPILE_OPTION "-std=c++14")
+      set(CMAKE_${lang}98_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+      set(CMAKE_${lang}11_STANDARD_COMPILE_OPTION "-std=c++14")
+      set(CMAKE_${lang}11_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+
+      # This clang++ is missing some features because of MSVC compatibility.
+      unset(CMAKE_${lang}11_STANDARD__HAS_FULL_SUPPORT)
+      unset(CMAKE_${lang}14_STANDARD__HAS_FULL_SUPPORT)
+      unset(CMAKE_${lang}17_STANDARD__HAS_FULL_SUPPORT)
+      unset(CMAKE_${lang}20_STANDARD__HAS_FULL_SUPPORT)
+    endif()
+
+    __compiler_check_default_language_standard(${lang} 2.1 98)
+  elseif(CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 3.9
+      AND CMAKE_${lang}_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.0)
+    # This version of clang-cl and the MSVC version it simulates have
+    # support for -std: flags.
+    set(CMAKE_${lang}98_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}98_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}98_STANDARD__HAS_FULL_SUPPORT ON)
+    set(CMAKE_${lang}11_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}11_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}14_STANDARD_COMPILE_OPTION "-std:c++14")
+    set(CMAKE_${lang}14_EXTENSION_COMPILE_OPTION "-std:c++14")
+    if (CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 6.0)
+      set(CMAKE_${lang}17_STANDARD_COMPILE_OPTION "-std:c++17")
+      set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "-std:c++17")
+      set(CMAKE_${lang}20_STANDARD_COMPILE_OPTION "-std:c++latest")
+      set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std:c++latest")
+    else()
+      set(CMAKE_${lang}17_STANDARD_COMPILE_OPTION "-std:c++latest")
+      set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "-std:c++latest")
+    endif()
+
+    __compiler_check_default_language_standard(${lang} 3.9 14)
+  else()
+    # This version of clang-cl, or the MSVC version it simulates, does not have
+    # language standards.  Set these options as empty strings so the feature
+    # test infrastructure can at least check to see if they are defined.
+    set(CMAKE_${lang}98_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}98_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}11_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}11_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}14_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}14_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}17_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "")
+    set(CMAKE_${lang}20_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "")
+
+    # There is no meaningful default for this
+    set(CMAKE_${lang}_STANDARD_DEFAULT "")
+
+    # There are no compiler modes so we only need to test features once.
+    # Override the default macro for this special case.  Pretend that
+    # all language standards are available so that at least compilation
+    # can be attempted.
+    macro(cmake_record_${lang}_compile_features)
+      list(APPEND CMAKE_${lang}_COMPILE_FEATURES
+        ${lang}_std_98
+        ${lang}_std_11
+        ${lang}_std_14
+        ${lang}_std_17
+        ${lang}_std_20
+        )
+      _record_compiler_features(${lang} "" CMAKE_${lang}_COMPILE_FEATURES)
+    endmacro()
+  endif()
+endmacro()
diff --git a/bootstrap b/bootstrap
index 66dc86163e2ad7a3163571b97d0a432e1921f837..0a65043562b15250a6b28f10bc8544753eecba8a 100755
--- a/bootstrap
+++ b/bootstrap
@@ -9,8 +9,16 @@ die() {
 # Compile flag extraction function.
 cmake_extract_standard_flags()
 {
-  sed -n "s/ *set *( *CMAKE_${2}${3}_EXTENSION_COMPILE_OPTION *\"\{0,1\}\([^\")]*\).*/\1/p" \
-    "${cmake_source_dir}/Modules/Compiler/"${1:-*}-${2}.cmake 2>/dev/null | tr ';' ' '
+  id="${1:-*}"
+  lang="${2}"
+  ver="${3}"
+  sed -n "s/ *set *( *CMAKE_${lang}${ver}_EXTENSION_COMPILE_OPTION *\"\{0,1\}\([^\")]*\).*/\1/p" \
+    "${cmake_source_dir}/Modules/Compiler/"${id}-${lang}.cmake \
+    2>/dev/null | tr ';' ' '
+  # Clang's CXX compiler flags are in the common module.
+  sed -n "s/ *set *( *CMAKE_\\\${lang}${ver}_EXTENSION_COMPILE_OPTION *\"\{0,1\}\([^\")]*\).*/\1/p" \
+    "${cmake_source_dir}/Modules/Compiler/Clang.cmake" \
+    2>/dev/null | tr ';' ' '
 }
 
 # Version number extraction function.