Support override CLANG_RESOURCE_DIR

The result from clang commandline is something like
/usr/lib/llvm-7/lib/clang/7.0.1

Which means I need to recompile when the clang is upgraded to newer 7.x.x

However the system has a convenient symlink, which is
/usr/include/clang/7.
This commit is contained in:
Shengjing Zhu 2019-08-11 18:06:47 +08:00 committed by Fangrui Song
parent 6528dcb81d
commit 5200f431f1

View File

@ -120,6 +120,7 @@ endif()
# Find Clang resource directory with Clang executable. # Find Clang resource directory with Clang executable.
if(NOT CLANG_RESOURCE_DIR)
find_program(CLANG_EXECUTABLE clang) find_program(CLANG_EXECUTABLE clang)
if(NOT CLANG_EXECUTABLE) if(NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "clang executable not found.") message(FATAL_ERROR "clang executable not found.")
@ -137,6 +138,7 @@ if(CLANG_FIND_RESOURCE_DIR_RESULT)
message(FATAL_ERROR "Error retrieving Clang resource directory with Clang \ message(FATAL_ERROR "Error retrieving Clang resource directory with Clang \
executable. Output:\n ${CLANG_FIND_RESOURCE_DIR_ERROR}") executable. Output:\n ${CLANG_FIND_RESOURCE_DIR_ERROR}")
endif() endif()
endif()
set_property(SOURCE src/utils.cc APPEND PROPERTY COMPILE_DEFINITIONS set_property(SOURCE src/utils.cc APPEND PROPERTY COMPILE_DEFINITIONS
CLANG_RESOURCE_DIRECTORY=R"\(${CLANG_RESOURCE_DIR}\)") CLANG_RESOURCE_DIRECTORY=R"\(${CLANG_RESOURCE_DIR}\)")