Files
clang-p2996/llvm/lib/TargetParser/CMakeLists.txt
Rainer Orth 06e0a32178 [CMake] Fix BUILD_SHARED_LIBS build on Solaris
LLVM currently doesn't build with `-DBUILD_SHARED_LIBS=ON` on Solaris:
`libLLVMTargetParser.so` uses `libkstat` functions without linking it.

Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.

Differential Revision: <https://reviews.llvm.org/D158846
2023-09-15 10:00:49 +02:00

42 lines
1.0 KiB
CMake

# Ensure that libLLVMTargetParser does not carry any static global initializer.
# ManagedStatic can be used to enable lazy-initialization of globals.
#
# HAS_WERROR_GLOBAL_CTORS and LLVM_HAS_NOGLOBAL_CTOR_MUTEX should have been set
# by llvm/lib/Support/CMakeLists.txt (which provides the required Support
# dependency).
if (HAS_WERROR_GLOBAL_CTORS AND NOT LLVM_HAS_NOGLOBAL_CTOR_MUTEX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=global-constructors")
endif()
# Solaris code uses kstat, so specify dependency explicitly for shared builds.
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set(system_libs kstat)
endif()
add_llvm_component_library(LLVMTargetParser
AArch64TargetParser.cpp
ARMTargetParserCommon.cpp
ARMTargetParser.cpp
CSKYTargetParser.cpp
Host.cpp
LoongArchTargetParser.cpp
RISCVTargetParser.cpp
SubtargetFeature.cpp
TargetParser.cpp
Triple.cpp
X86TargetParser.cpp
ADDITIONAL_HEADER_DIRS
Unix
Windows
LINK_LIBS
${system_libs}
LINK_COMPONENTS
Support
DEPENDS
RISCVTargetParserTableGen
)