1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
# If we're building overlays, make sure we mention the ones we need.
# Otherwise, assume they already exist.
set(darwin)
set(wincrt_sdk)
set(glibc)
set(musl)
if(SWIFT_BUILD_SDK_OVERLAY)
set(darwin Darwin)
set(wincrt_sdk CRT WinSDK)
set(glibc Glibc)
set(musl Musl)
endif()
# Similarly, we only want the _Backtracing dependency if we're building
# with the stdlib.
set(backtracing)
if(SWIFT_BUILD_STDLIB AND SWIFT_ENABLE_BACKTRACING)
set(backtracing _Backtracing)
endif()
if(NOT SWIFT_BUILD_STDLIB)
set(BUILD_STANDALONE TRUE)
endif()
set(BACKTRACING_COMPILE_FLAGS
"-I${SWIFT_STDLIB_SOURCE_DIR}/public/Backtracing/modules"
"-Xcc;-I${SWIFT_SOURCE_DIR}/include"
"-Xcc;-I${CMAKE_BINARY_DIR}/include")
set(BACKTRACING_SOURCES
main.swift
AnsiColor.swift
TargetMacOS.swift
TargetLinux.swift
Themes.swift
Utils.swift
)
add_swift_target_executable(swift-backtrace BUILD_WITH_LIBEXEC
${BACKTRACING_SOURCES}
SWIFT_MODULE_DEPENDS ${backtracing}
SWIFT_MODULE_DEPENDS_OSX ${darwin}
SWIFT_MODULE_DEPENDS_WINDOWS ${wincrt_sdk}
SWIFT_MODULE_DEPENDS_LINUX ${glibc}
SWIFT_MODULE_DEPENDS_LINUX_STATIC ${musl}
INSTALL_IN_COMPONENT libexec
COMPILE_FLAGS
${BACKTRACING_COMPILE_FLAGS}
-parse-as-library
TARGET_SDKS OSX LINUX)
set(static_target_sdks)
if(SWIFT_BUILD_STATIC_STDLIB)
list(APPEND static_target_sdks "LINUX")
endif()
if("LINUX_STATIC" IN_LIST SWIFT_SDKS)
list(APPEND static_target_sdks "LINUX_STATIC")
endif()
if(static_target_sdks)
add_swift_target_executable(swift-backtrace-static BUILD_WITH_LIBEXEC
PREFER_STATIC
${BACKTRACING_SOURCES}
SWIFT_MODULE_DEPENDS ${backtracing}
SWIFT_MODULE_DEPENDS_OSX ${darwin}
SWIFT_MODULE_DEPENDS_WINDOWS ${wincrt_sdk}
SWIFT_MODULE_DEPENDS_LINUX ${glibc}
SWIFT_MODULE_DEPENDS_LINUX_STATIC ${musl}
INSTALL_IN_COMPONENT libexec
COMPILE_FLAGS
${BACKTRACING_COMPILE_FLAGS}
-parse-as-library
TARGET_SDKS ${static_target_sdks})
endif()
|