1# Ensure that libLLVMTargetParser does not carry any static global initializer. 2# ManagedStatic can be used to enable lazy-initialization of globals. 3# 4# HAS_WERROR_GLOBAL_CTORS and LLVM_HAS_NOGLOBAL_CTOR_MUTEX should have been set 5# by llvm/lib/Support/CMakeLists.txt (which provides the required Support 6# dependency). 7if (HAS_WERROR_GLOBAL_CTORS AND NOT LLVM_HAS_NOGLOBAL_CTOR_MUTEX) 8 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=global-constructors") 9endif() 10 11# Solaris code uses kstat, so specify dependency explicitly for shared builds. 12if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS") 13 set(system_libs kstat) 14endif() 15 16add_llvm_component_library(LLVMTargetParser 17 AArch64TargetParser.cpp 18 ARMTargetParserCommon.cpp 19 ARMTargetParser.cpp 20 CSKYTargetParser.cpp 21 Host.cpp 22 LoongArchTargetParser.cpp 23 PPCTargetParser.cpp 24 RISCVISAInfo.cpp 25 RISCVTargetParser.cpp 26 SubtargetFeature.cpp 27 TargetParser.cpp 28 Triple.cpp 29 X86TargetParser.cpp 30 31 ADDITIONAL_HEADER_DIRS 32 Unix 33 Windows 34 35 LINK_LIBS 36 ${system_libs} 37 38 LINK_COMPONENTS 39 Support 40 41 DEPENDS 42 ARMTargetParserTableGen 43 AArch64TargetParserTableGen 44 RISCVTargetParserTableGen 45 ) 46