X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fllvm-c-test%2FCMakeLists.txt;h=f22dffb30e8a4a912cbd4914ca6bfc3768c11397;hb=813f44a29fd0fd140127023222d0633e23783bcc;hp=13a072ae331c4ef4eb1da847bf600648f22f34d8;hpb=3aabdebde23415b488c9b8f4f470ab3e0ec81176;p=oota-llvm.git diff --git a/tools/llvm-c-test/CMakeLists.txt b/tools/llvm-c-test/CMakeLists.txt index 13a072ae331..f22dffb30e8 100644 --- a/tools/llvm-c-test/CMakeLists.txt +++ b/tools/llvm-c-test/CMakeLists.txt @@ -7,8 +7,31 @@ set(LLVM_LINK_COMPONENTS Target ) +# We should only have llvm-c-test use libLLVM if libLLVM is built with the +# default list of components. Using libLLVM with custom components can result in +# build failures. + +set (USE_LLVM_DYLIB FALSE) + +if (TARGET LLVM) + set (USE_LLVM_DYLIB TRUE) + if (DEFINED LLVM_DYLIB_COMPONENTS) + foreach(c in ${LLVM_LINK_COMPONENTS}) + list(FIND LLVM_DYLIB_COMPONENTS ${c} C_IDX) + if (C_IDX EQUAL -1) + set(USE_LLVM_DYLIB FALSE) + break() + endif() + endforeach() + endif() +endif() + +if(USE_LLVM_DYLIB) + set(LLVM_LINK_COMPONENTS) +endif() + if (LLVM_COMPILER_IS_GCC_COMPATIBLE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wstrict-prototypes") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wstrict-prototypes") endif () add_llvm_tool(llvm-c-test @@ -18,6 +41,11 @@ add_llvm_tool(llvm-c-test include-all.c main.c module.c + metadata.c object.c targets.c ) + +if(USE_LLVM_DYLIB) + target_link_libraries(llvm-c-test LLVM) +endif()