73 lines · plain
1add_custom_target(UnitTests)2set_target_properties(UnitTests PROPERTIES FOLDER "LLVM/Tests")3 4function(add_llvm_unittest test_dirname)5 add_unittest(UnitTests ${test_dirname} ${ARGN})6endfunction()7function(add_llvm_unittest_with_input_files test_dirname)8 add_unittest_with_input_files(UnitTests ${test_dirname} ${ARGN})9endfunction()10 11# The target unittests may test APIs that aren't exported in libLLVM.so, so12# we need to always link against the static libraries.13function(add_llvm_target_unittest test_dir_name)14 add_llvm_unittest(${test_dir_name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})15endfunction()16 17# gtest macros like EXPECT_TRUE are expanded to a single line18# multi-statement code with if/else. eg:19# if (...)20# EXPECT_TURE(...)21# will be expanded into something like:22# if(...)23# switch (0) case 0: default: if (...) ; else return;;24# GCC may emit false positive dangling-else warnings for such code.25# However, such warnings are actually against LLVM's style guide.26# disable the warning for GCC so that one can enbable Werror.27if (CMAKE_COMPILER_IS_GNUCXX)28 list(APPEND LLVM_COMPILE_FLAGS "-Wno-dangling-else")29endif ()30 31add_subdirectory(ADT)32add_subdirectory(Analysis)33add_subdirectory(AsmParser)34add_subdirectory(BinaryFormat)35add_subdirectory(Bitcode)36add_subdirectory(Bitstream)37add_subdirectory(CAS)38add_subdirectory(CGData)39add_subdirectory(CodeGen)40add_subdirectory(DebugInfo)41add_subdirectory(Debuginfod)42add_subdirectory(Demangle)43add_subdirectory(DWARFLinkerParallel)44add_subdirectory(ExecutionEngine)45add_subdirectory(FileCheck)46add_subdirectory(Frontend)47add_subdirectory(FuzzMutate)48add_subdirectory(InterfaceStub)49add_subdirectory(IR)50add_subdirectory(LineEditor)51add_subdirectory(Linker)52add_subdirectory(MC)53add_subdirectory(MI)54add_subdirectory(MIR)55add_subdirectory(ObjCopy)56add_subdirectory(Object)57add_subdirectory(ObjectYAML)58add_subdirectory(Option)59add_subdirectory(Remarks)60add_subdirectory(Passes)61add_subdirectory(ProfileData)62add_subdirectory(SandboxIR)63add_subdirectory(Support)64add_subdirectory(TableGen)65add_subdirectory(Target)66add_subdirectory(TargetParser)67add_subdirectory(Telemetry)68add_subdirectory(Testing)69add_subdirectory(TextAPI)70add_subdirectory(Transforms)71add_subdirectory(XRay)72add_subdirectory(tools)73