1 list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen)
3 list(APPEND LLVM_TABLEGEN_FLAGS -I ${LLVM_MAIN_SRC_DIR}/lib/Target)
5 add_llvm_component_library(LLVMTarget
7 TargetIntrinsicInfo.cpp
8 TargetLoweringObjectFile.cpp
12 ADDITIONAL_HEADER_DIRS
13 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Target
22 # When building shared objects for each target there are some internal APIs
23 # that are used across shared objects which we can't hide.
24 if (NOT BUILD_SHARED_LIBS AND NOT APPLE AND
25 NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET)
26 # Set default visibility to hidden, so we don't export all the Target classes
28 set(CMAKE_CXX_VISIBILITY_PRESET hidden)
31 foreach(t ${LLVM_TARGETS_TO_BUILD})
32 message(STATUS "Targeting ${t}")
33 add_subdirectory(${t})
36 # Currently we do not allow libraries from lib to reference targets directly.
37 # This property is used to enforce that convention. It is important because the
38 # logic in llvm_map_components_to_libnames is order dependent on the target
39 # libraries being created.
40 set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On)