Files
sourcekit-lsp/Sources/SKCore/FileBuildSettings.swift
David Goldman 6c93c92f4d Allow multiple Xcode toolchains in the registry
1) Toolchain ID is no longer unique; XcodeDefault toolchains may be
   registered multiple times as long as their path is different
   (e.g. different Xcode versions). At the moment no other toolchain
   may be duplicated.
2) `BuildSystem` specifies a `Toolchain` directly instead of a
   Toolchain identifier.
3) New methods to access Toolchains in the registry:
   - All toolchain(s) with the given identifier
   - Toolchain (if any) for the given path
2019-01-22 14:12:50 -05:00

39 lines
1.4 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2018 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
//
//===----------------------------------------------------------------------===//
/// Build settings for a single file.
///
/// Encapsulates all the settings needed to compile a single file, including the compiler arguments,
/// working directory, and preferred toolchain if any. FileBuildSettings are typically the result
/// of a BuildSystem query.
public struct FileBuildSettings {
/// The Toolchain that is preferred for compiling this file, if any.
public var preferredToolchain: Toolchain? = nil
/// The compiler arguments to use for this file.
public var compilerArguments: [String]
/// The working directory to resolve any relative paths in `compilerArguments`.
public var workingDirectory: String? = nil
public init(
preferredToolchain: Toolchain? = nil,
compilerArguments: [String],
workingDirectory: String? = nil)
{
self.preferredToolchain = preferredToolchain
self.compilerArguments = compilerArguments
self.workingDirectory = workingDirectory
}
}