find_program(LLVM_CONFIG NAMES llvm-config-3.5 llvm-config) if(LLVM_CONFIG) execute_process(COMMAND ${LLVM_CONFIG} --version OUTPUT_VARIABLE LLVM_VERSION) if(((${LLVM_VERSION} VERSION_LESS 3.6.0) AND (${LLVM_VERSION} VERSION_GREATER 3.5)) OR (${LLVM_VERSION} VERSION_EQUAL 3.5)) execute_process(COMMAND ${LLVM_CONFIG} --cxxflags OUTPUT_VARIABLE LLVM_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${LLVM_CONFIG} --ldflags OUTPUT_VARIABLE LLVM_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${LLVM_CONFIG} --libs OUTPUT_VARIABLE LLVM_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${LLVM_CONFIG} --system-libs OUTPUT_VARIABLE LLVM_SYSTEM_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) string(REPLACE -O2 "" LLVM_CFLAGS ${LLVM_CFLAGS}) string(REPLACE -fno-exceptions "" LLVM_CFLAGS ${LLVM_CFLAGS}) string(REPLACE -fno-rtti "" LLVM_CFLAGS ${LLVM_CFLAGS}) string(REPLACE -DNDEBUG "" LLVM_CFLAGS ${LLVM_CFLAGS}) string(REPLACE -I "-isystem" LLVM_CFLAGS ${LLVM_CFLAGS}) separate_arguments(LLVM_CFLAGS) endif() endif() if(NOT DEFINED LLVM_CFLAGS) message(SEND_ERROR "LLVM 3.5 required but not found") endif()