[CMake] Ensure CLANG_RESOURCE_DIR is respected.
re-commit of 39aa0f5c43 with missing file:
cmake/Modules/GetClangResourceDir.cmake.
This commit is contained in:
committed by
Tom Stellard
parent
4c2ec08ebc
commit
0beffb8542
27
cmake/Modules/GetClangResourceDir.cmake
Normal file
27
cmake/Modules/GetClangResourceDir.cmake
Normal file
@@ -0,0 +1,27 @@
|
||||
# get clang resource directory
|
||||
#
|
||||
# usage:
|
||||
# get_clang_resource_dir(out_var [PREFIX prefix] [SUBDIR subdirectory])
|
||||
#
|
||||
# user can use `PREFIX` to prepend some path to it or use `SUBDIR` to
|
||||
# get subdirectory under clang resource dir
|
||||
|
||||
function(get_clang_resource_dir out_var)
|
||||
cmake_parse_arguments(ARG "" "PREFIX;SUBDIR" "" ${ARGN})
|
||||
|
||||
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})
|
||||
set(ret_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR})
|
||||
endif()
|
||||
|
||||
if(ARG_PREFIX)
|
||||
set(ret_dir ${ARG_PREFIX}/${ret_dir})
|
||||
endif()
|
||||
if(ARG_SUBDIR)
|
||||
set(ret_dir ${ret_dir}/${ARG_SUBDIR})
|
||||
endif()
|
||||
|
||||
set(${out_var} ${ret_dir} PARENT_SCOPE)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user