summaryrefslogtreecommitdiffstats
path: root/cmake/FindLibClang.cmake
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2015-05-17 09:58:27 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2015-05-17 09:58:27 (GMT)
commit7bcf8e9a379ec0599160e5562f07b93f8fb9557a (patch)
tree6b8eea084053c1d891b3c9a5c1e993203902718a /cmake/FindLibClang.cmake
parent2e39e5c7c1427ac6b24c64b7ef01be8d5a20092b (diff)
downloadDoxygen-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.cmake51
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}")
+
+