diff options
Diffstat (limited to 'sources/shiboken2/CMakeLists.txt')
-rw-r--r-- | sources/shiboken2/CMakeLists.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sources/shiboken2/CMakeLists.txt b/sources/shiboken2/CMakeLists.txt index 0ca3c2f8f..0d58bcd64 100644 --- a/sources/shiboken2/CMakeLists.txt +++ b/sources/shiboken2/CMakeLists.txt @@ -65,6 +65,27 @@ endif() message(STATUS "CLANG: ${CLANG_DIR}, ${CLANG_LIBRARY} detected by ${CLANG_DIR_SOURCE}") +# Find highest version clang builtin includes folder to pass along to shiboken. +set(CLANG_BUILTIN_INCLUDES_DIR_PREFIX ${CLANG_DIR}/lib/clang) +file(GLOB CLANG_BUILTIN_INCLUDES_DIR_VERSIONS "${CLANG_BUILTIN_INCLUDES_DIR_PREFIX}/*") + +# Sort in alphabetical order the list of version folders. +list(SORT CLANG_BUILTIN_INCLUDES_DIR_VERSIONS) + +# Reverse it so the first element is the highest version. +list(REVERSE CLANG_BUILTIN_INCLUDES_DIR_VERSIONS) + +message(STATUS "Found the following CLANG builtins includes directories: ${CLANG_BUILTIN_INCLUDES_DIR_VERSIONS}") +if(CLANG_BUILTIN_INCLUDES_DIR_VERSIONS) + # Get highest version. + list(GET CLANG_BUILTIN_INCLUDES_DIR_VERSIONS 0 CLANG_BUILTIN_INCLUDES_DIR_HIGHEST_VERSION) + if (CLANG_BUILTIN_INCLUDES_DIR_HIGHEST_VERSION) + # Set the final variable to the full include path to pass along to shiboken. + set(CLANG_BUILTIN_INCLUDES_DIR "${CLANG_BUILTIN_INCLUDES_DIR_HIGHEST_VERSION}/include") + endif() +endif() +message(STATUS "CLANG builtins includes directory chosen: ${CLANG_BUILTIN_INCLUDES_DIR}") + set(CLANG_EXTRA_INCLUDES ${CLANG_DIR}/include) set(CLANG_EXTRA_LIBRARIES ${CLANG_LIBRARY}) |