blob: 9ae3b1e32526a907ba572af1d38a0e91bb617035 [file] [log] [blame]
#===--- CMakeLists.txt - Concurrency support library ---------------------===#
#
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2019 - 2020 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
#===----------------------------------------------------------------------===#
set(swift_concurrency_objc_sources
SwiftNativeNSObject.mm)
set(LLVM_OPTIONAL_SOURCES
${swift_concurrency_objc_sources})
set(swift_concurrency_link_libraries
swiftCore)
if(SWIFT_CONCURRENCY_USES_DISPATCH)
if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
include_directories(AFTER
${SWIFT_PATH_TO_LIBDISPATCH_SOURCE})
# FIXME: we can't rely on libdispatch having been built for the
# target at this point in the process. Currently, we're relying
# on soft-linking.
#list(APPEND swift_concurrency_link_libraries
# dispatch)
endif()
endif()
add_swift_target_library(swift_Concurrency ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB
Actor.cpp
Actor.swift
GlobalExecutor.cpp
PartialAsyncTask.swift
Task.cpp
Task.swift
TaskCancellation.swift
_TimeTypes.swift
TaskAlloc.cpp
TaskStatus.cpp
TaskGroup.swift
Mutex.cpp
${swift_concurrency_objc_sources}
SWIFT_MODULE_DEPENDS_OSX Darwin
SWIFT_MODULE_DEPENDS_IOS Darwin
SWIFT_MODULE_DEPENDS_TVOS Darwin
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
SWIFT_MODULE_DEPENDS_LINUX Glibc
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
SWIFT_MODULE_DEPENDS_HAIKU Glibc
SWIFT_MODULE_DEPENDS_WINDOWS CRT
LINK_LIBRARIES ${swift_concurrency_link_libraries}
C_COMPILE_FLAGS
-Dswift_Concurrency_EXPORTS
SWIFT_COMPILE_FLAGS
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
-parse-stdlib
-Xfrontend -enable-experimental-concurrency
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
INSTALL_IN_COMPONENT stdlib
)