|
| 1 | +# FIXME: Refactor demangling library so that we aren't pulling sources from |
| 2 | +# the compiler. |
| 3 | +add_library(swiftDemangling STATIC |
| 4 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Context.cpp" |
| 5 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Demangler.cpp" |
| 6 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/ManglingUtils.cpp" |
| 7 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/NodePrinter.cpp" |
| 8 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Punycode.cpp" |
| 9 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Remangler.cpp" |
| 10 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/NodeDumper.cpp" |
| 11 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Errors.cpp") |
| 12 | +target_compile_definitions(swiftDemangling PRIVATE swiftCore_EXPORTS) |
| 13 | + |
| 14 | +target_include_directories(swiftDemangling |
| 15 | + PRIVATE "${PROJECT_SOURCE_DIR}/../../include") |
| 16 | + |
| 17 | +if(SwiftCore_ENABLE_CRASH_REPORTER_CLIENT) |
| 18 | + target_compile_definitions(swiftDemangling PRIVATE SWIFT_HAVE_CRASHREPORTERCLIENT) |
| 19 | + target_sources(swiftDemangling PRIVATE "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/CrashReporter.cpp") |
| 20 | +endif() |
| 21 | + |
| 22 | +if(SwiftCore_ENABLE_OBJC_INTEROP) |
| 23 | + target_sources(swiftDemangling PRIVATE |
| 24 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/OldDemangler.cpp" |
| 25 | + "${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/OldRemangler.cpp") |
| 26 | + target_compile_options(swiftDemangling PRIVATE -DSWIFT_SUPPORT_OLD_MANGLING=1) |
| 27 | +else() |
| 28 | + target_compile_options(swiftDemangling PRIVATE -DSWIFT_SUPPORT_OLD_MANGLING=0) |
| 29 | +endif() |
| 30 | + |
| 31 | +if(SwiftCore_ENABLE_TYPE_PRINTING) |
| 32 | + target_compile_definitions(swiftDemangling PRIVATE SWIFT_STDLIB_HAS_TYPE_PRINTING) |
| 33 | +endif() |
| 34 | + |
| 35 | +if(LINUX OR BSD) |
| 36 | + target_compile_options(swiftDemangling PRIVATE -fno-lto) |
| 37 | +endif() |
| 38 | + |
| 39 | +if(NOT BUILD_SHARED_LIBS) |
| 40 | + install(TARGETS swiftDemangling) |
| 41 | +endif() |
0 commit comments