add_custom_target(UnitTests) set_target_properties(UnitTests PROPERTIES FOLDER "LLVM/Tests") function(add_llvm_unittest test_dirname) add_unittest(UnitTests ${test_dirname} ${ARGN}) endfunction() function(add_llvm_unittest_with_input_files test_dirname) add_unittest_with_input_files(UnitTests ${test_dirname} ${ARGN}) endfunction() # The target unittests may test APIs that aren't exported in libLLVM.so, so # we need to always link against the static libraries. function(add_llvm_target_unittest test_dir_name) add_llvm_unittest(${test_dir_name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) endfunction() # gtest macros like EXPECT_TRUE are expanded to a single line # multi-statement code with if/else. eg: # if (...) # EXPECT_TURE(...) # will be expanded into something like: # if(...) # switch (0) case 0: default: if (...) ; else return;; # GCC may emit false positive dangling-else warnings for such code. # However, such warnings are actually against LLVM's style guide. # disable the warning for GCC so that one can enbable Werror. if (CMAKE_COMPILER_IS_GNUCXX) list(APPEND LLVM_COMPILE_FLAGS "-Wno-dangling-else") endif () add_subdirectory(ADT) add_subdirectory(Analysis) add_subdirectory(AsmParser) add_subdirectory(BinaryFormat) add_subdirectory(Bitcode) add_subdirectory(Bitstream) add_subdirectory(CGData) add_subdirectory(CodeGen) add_subdirectory(DebugInfo) add_subdirectory(Debuginfod) add_subdirectory(Demangle) add_subdirectory(DWARFLinkerParallel) add_subdirectory(ExecutionEngine) add_subdirectory(FileCheck) add_subdirectory(Frontend) add_subdirectory(FuzzMutate) add_subdirectory(InterfaceStub) add_subdirectory(IR) add_subdirectory(LineEditor) add_subdirectory(Linker) add_subdirectory(MC) add_subdirectory(MI) add_subdirectory(MIR) add_subdirectory(ObjCopy) add_subdirectory(Object) add_subdirectory(ObjectYAML) add_subdirectory(Option) add_subdirectory(Remarks) add_subdirectory(Passes) add_subdirectory(ProfileData) add_subdirectory(SandboxIR) add_subdirectory(Support) add_subdirectory(TableGen) add_subdirectory(Target) add_subdirectory(TargetParser) add_subdirectory(Telemetry) add_subdirectory(Testing) add_subdirectory(TextAPI) add_subdirectory(Transforms) add_subdirectory(XRay) add_subdirectory(tools)