mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Additional shimming required for some builds, as well as a few other build related tweaks. rdar://106234311
54 lines
1.9 KiB
CMake
54 lines
1.9 KiB
CMake
# TODO: due to the use of `add_swift_target_library` rather than `add_library`
|
|
# we cannot use `target_sources` and thus must resort to list manipulations to
|
|
# adjust the source list.
|
|
set(swiftDemanglingSources
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/Context.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/Demangler.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/ManglingUtils.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/NodePrinter.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/Punycode.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/Remangler.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/NodeDumper.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/Errors.cpp")
|
|
set(swiftDemanglingCRSources
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/CrashReporter.cpp")
|
|
|
|
set(swift_demangling_cflags)
|
|
|
|
if(SWIFT_RUNTIME_CRASH_REPORTER_CLIENT)
|
|
list(APPEND swift_demangling_cflags
|
|
"-DSWIFT_HAVE_CRASHREPORTERCLIENT=1")
|
|
endif()
|
|
|
|
# The old mangling support is only needed on platforms with ObjC.
|
|
if(SWIFT_STDLIB_ENABLE_OBJC_INTEROP)
|
|
list(APPEND swiftDemanglingSources
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/OldDemangler.cpp"
|
|
"${SWIFT_SOURCE_DIR}/lib/Demangling/OldRemangler.cpp"
|
|
)
|
|
list(APPEND swift_demangling_cflags -DSWIFT_SUPPORT_OLD_MANGLING=1)
|
|
else()
|
|
list(APPEND swift_demangling_cflags -DSWIFT_SUPPORT_OLD_MANGLING=0)
|
|
endif()
|
|
|
|
if(SWIFT_STDLIB_HAS_TYPE_PRINTING)
|
|
list(APPEND swift_demangling_cflags -DSWIFT_STDLIB_HAS_TYPE_PRINTING)
|
|
endif()
|
|
|
|
# Gold LTO is unsupported. To prevent tests from failing when building
|
|
# with LTO, force swiftDemangling library to compile without LTO for Linux.
|
|
add_swift_target_library(swiftDemangling OBJECT_LIBRARY
|
|
${swiftDemanglingSources}
|
|
C_COMPILE_FLAGS
|
|
-DswiftCore_EXPORTS
|
|
${swift_demangling_cflags}
|
|
C_COMPILE_FLAGS_LINUX -fno-lto
|
|
INSTALL_IN_COMPONENT never_install)
|
|
|
|
add_swift_target_library(swiftDemanglingCR OBJECT_LIBRARY
|
|
${swiftDemanglingCRSources}
|
|
C_COMPILE_FLAGS
|
|
-DswiftCore_EXPORTS
|
|
${swift_demangling_cflags}
|
|
INSTALL_IN_COMPONENT never_install)
|