diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2015-05-17 09:58:27 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2015-05-17 09:58:27 (GMT) |
commit | 7bcf8e9a379ec0599160e5562f07b93f8fb9557a (patch) | |
tree | 6b8eea084053c1d891b3c9a5c1e993203902718a /cmake/FindLibClang.cmake | |
parent | 2e39e5c7c1427ac6b24c64b7ef01be8d5a20092b (diff) | |
download | Doxygen-7bcf8e9a379ec0599160e5562f07b93f8fb9557a.zip Doxygen-7bcf8e9a379ec0599160e5562f07b93f8fb9557a.tar.gz Doxygen-7bcf8e9a379ec0599160e5562f07b93f8fb9557a.tar.bz2 |
Removed old build files, added install targets and other options
Diffstat (limited to 'cmake/FindLibClang.cmake')
-rw-r--r-- | cmake/FindLibClang.cmake | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/cmake/FindLibClang.cmake b/cmake/FindLibClang.cmake new file mode 100644 index 0000000..2835b1f --- /dev/null +++ b/cmake/FindLibClang.cmake @@ -0,0 +1,51 @@ +if (NOT CLANG_ROOT) + set(CLANG_ROOT $ENV{CLANG_ROOT}) +endif () + +if (NOT LLVM_CONFIG) + set(LLVM_CONFIG $ENV{LLVM_CONFIG}) + if (NOT LLVM_CONFIG) + set(llvm_config_names llvm-config) + foreach(minor RANGE 9 1) + list(APPEND llvm_config_names "llvm-config3${minor}" "llvm-config-3.${minor}" "llvm-config-mp-3.${minor}") + endforeach () + find_program(LLVM_CONFIG NAMES ${llvm_config_names}) + endif () +endif () + +if (LLVM_CONFIG) + message(STATUS "llvm-config found at: ${LLVM_CONFIG}") +else () + message(FATAL_ERROR "Could NOT find llvm-config executable.") +endif () + +if (NOT EXISTS ${CLANG_INCLUDEDIR}) + execute_process(COMMAND ${LLVM_CONFIG} --includedir OUTPUT_VARIABLE CLANG_INCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE) + if (NOT EXISTS ${CLANG_INCLUDEDIR}) + message(FATAL_ERROR "Could NOT find clang includedir. You can fix this by setting CLANG_INCLUDEDIR in your shell or as a cmake variable.") + endif () +endif () + +if (NOT EXISTS ${CLANG_LIBDIR}) + execute_process(COMMAND ${LLVM_CONFIG} --libdir OUTPUT_VARIABLE CLANG_LIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE) + if (NOT EXISTS ${CLANG_LIBDIR}) + message(FATAL_ERROR "Could NOT find clang libdir. You can fix this by setting CLANG_LIBDIR in your shell or as a cmake variable.") + endif () +endif () + +if (NOT CLANG_LIBS) + find_library(CLANG_LIB_HACK_CMAKECACHE_DOT_TEXT_BULLSHIT NAMES clang libclang ${CLANG_ROOT}/lib ${CLANG_LIBDIR} NO_DEFAULT_PATH) + if (NOT EXISTS ${CLANG_CLANG_LIB_HACK_CMAKECACHE_DOT_TEXT_BULLSHIT}) + find_library(CLANG_LIBS NAMES clang libclang) + if (NOT EXISTS ${CLANG_LIBS}) + set (CLANG_LIBS "-L${CLANG_LIBDIR}" "-lclang" "-Wl,-rpath,${CLANG_LIBDIR}") + endif () + else () + set(CLANG_LIBS "${CLANG_LIB_HACK_CMAKECACHE_DOT_TEXT_BULLSHIT}") + endif () +endif () + +execute_process(COMMAND ${LLVM_CONFIG} --version OUTPUT_VARIABLE CLANG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) +message("-- Using Clang ${CLANG_VERSION} from ${CLANG_LIBDIR} with LIBS ${CLANG_LIBS} and CXXFLAGS ${CLANG_CXXFLAGS}") + + |