mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Caching][NFC] Restructure CASOption in swift. NFC
Clean up how CASOptions are kept and passed inside swift to make the code more readable. Also avoid a copy of CAS configuration in ClangImporter.
This commit is contained in:
39
lib/Basic/CASOptions.cpp
Normal file
39
lib/Basic/CASOptions.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
//===--- CASOptions.cpp - CAS & caching options ---------------------------===//
|
||||
//
|
||||
// This source file is part of the Swift.org open source project
|
||||
//
|
||||
// Copyright (c) 2014 - 2023 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file defines the CASOptions class, which provides various
|
||||
// CAS and caching flags.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "swift/Basic/CASOptions.h"
|
||||
|
||||
using namespace swift;
|
||||
|
||||
void CASOptions::enumerateCASConfigurationFlags(
|
||||
llvm::function_ref<void(llvm::StringRef)> Callback) const {
|
||||
if (EnableCaching) {
|
||||
Callback("-cache-compile-job");
|
||||
if (!CASOpts.CASPath.empty()) {
|
||||
Callback("-cas-path");
|
||||
Callback(CASOpts.CASPath);
|
||||
}
|
||||
if (!CASOpts.PluginPath.empty()) {
|
||||
Callback("-cas-plugin-path");
|
||||
Callback(CASOpts.PluginPath);
|
||||
for (auto Opt : CASOpts.PluginOptions) {
|
||||
Callback("-cas-plugin-option");
|
||||
Callback((llvm::Twine(Opt.first) + "=" + Opt.second).str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user