mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 21:46:05 +00:00

Details: - Previously, we used the LLVM_BUILD_TELEMETRY flag to control whether any Telemetry code will be built. This has proven to cause more nuisance to both users of the Telemetry and any further extension of it. (Eg., we needed to put #ifdef around caller/user code) - So the new approach is to: + Remove this flag and introduce LLVM_ENABLE_TELEMETRY which would be true by default. + If LLVM_ENABLE_TELEMETRY is set to FALSE (at buildtime), the library would still be built BUT Telemetry cannot be enabled. And no data can be collected. The benefit of this is that it simplifies user (and extension) code since we just need to put the check on Config::EnableTelemetry. Besides, the Telemetry library itself is very small, hence the additional code to be built would not cause any difference in build performance. --------- Co-authored-by: Pavel Labath <pavel@labath.sk>
72 lines
2.1 KiB
CMake
72 lines
2.1 KiB
CMake
include(LLVM-Build)
|
|
|
|
# `Demangle', `Support' and `TableGen' libraries are added on the top-level
|
|
# CMakeLists.txt
|
|
|
|
add_subdirectory(IR)
|
|
add_subdirectory(FuzzMutate)
|
|
add_subdirectory(FileCheck)
|
|
add_subdirectory(InterfaceStub)
|
|
add_subdirectory(IRPrinter)
|
|
add_subdirectory(IRReader)
|
|
add_subdirectory(CGData)
|
|
add_subdirectory(CodeGen)
|
|
add_subdirectory(CodeGenTypes)
|
|
add_subdirectory(BinaryFormat)
|
|
add_subdirectory(Bitcode)
|
|
add_subdirectory(Bitstream)
|
|
add_subdirectory(DWARFLinker)
|
|
add_subdirectory(Extensions)
|
|
add_subdirectory(Frontend)
|
|
add_subdirectory(Transforms)
|
|
add_subdirectory(Linker)
|
|
add_subdirectory(Analysis)
|
|
add_subdirectory(LTO)
|
|
add_subdirectory(MC)
|
|
add_subdirectory(MCA)
|
|
add_subdirectory(ObjCopy)
|
|
add_subdirectory(Object)
|
|
add_subdirectory(ObjectYAML)
|
|
add_subdirectory(Option)
|
|
add_subdirectory(Remarks)
|
|
add_subdirectory(Debuginfod)
|
|
add_subdirectory(DebugInfo)
|
|
add_subdirectory(DWP)
|
|
add_subdirectory(ExecutionEngine)
|
|
add_subdirectory(Target)
|
|
add_subdirectory(SandboxIR)
|
|
add_subdirectory(AsmParser)
|
|
add_subdirectory(LineEditor)
|
|
add_subdirectory(ProfileData)
|
|
add_subdirectory(Passes)
|
|
add_subdirectory(TargetParser)
|
|
add_subdirectory(TextAPI)
|
|
add_subdirectory(Telemetry)
|
|
add_subdirectory(ToolDrivers)
|
|
add_subdirectory(XRay)
|
|
if (LLVM_INCLUDE_TESTS)
|
|
add_subdirectory(Testing)
|
|
endif()
|
|
add_subdirectory(WindowsDriver)
|
|
add_subdirectory(WindowsManifest)
|
|
|
|
set(LLVMCONFIGLIBRARYDEPENDENCIESINC "${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc")
|
|
|
|
# Special components which don't have any source attached but aggregate other
|
|
# components
|
|
add_llvm_component_group(all-targets LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD})
|
|
add_llvm_component_group(Engine)
|
|
|
|
# The native target may not be enabled when cross compiling
|
|
if(TARGET ${LLVM_NATIVE_ARCH})
|
|
add_llvm_component_group(Native LINK_COMPONENTS ${LLVM_NATIVE_ARCH})
|
|
add_llvm_component_group(NativeCodeGen LINK_COMPONENTS ${LLVM_NATIVE_ARCH}CodeGen)
|
|
else()
|
|
add_llvm_component_group(Native)
|
|
add_llvm_component_group(NativeCodeGen)
|
|
endif()
|
|
|
|
# Component post-processing
|
|
LLVMBuildResolveComponentsLink()
|
|
LLVMBuildGenerateCFragment(OUTPUT ${LLVMCONFIGLIBRARYDEPENDENCIESINC})
|