GetClangResourceDir: Fix downstream projects that bundle llvm source
authorTom Stellard <tstellar@redhat.com>
Thu, 6 Jul 2023 03:09:58 +0000 (20:09 -0700)
committerTom Stellard <tstellar@redhat.com>
Thu, 6 Jul 2023 03:10:28 +0000 (20:10 -0700)
A project that bundles the llvm source code may have their own
PACKAGE_VERSION variable, so only use this to compute the
CLANG_RESOURCE_DIR if CLANG_VERSION_MAJOR is undefined.

Reviewed By: sebastian-ne

Differential Revision: https://reviews.llvm.org/D152608

cmake/Modules/GetClangResourceDir.cmake

index fb56e61..def5bd6 100644 (file)
@@ -12,7 +12,9 @@ function(get_clang_resource_dir out_var)
   if(DEFINED CLANG_RESOURCE_DIR AND NOT CLANG_RESOURCE_DIR STREQUAL "")
     set(ret_dir bin/${CLANG_RESOURCE_DIR})
   else()
-    string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR ${PACKAGE_VERSION})
+    if (NOT CLANG_VERSION_MAJOR)
+      string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR ${PACKAGE_VERSION})
+    endif()
     set(ret_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR})
   endif()