mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 00:06:09 +03:00
51 lines
1.9 KiB
C++
51 lines
1.9 KiB
C++
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef TOOLS_GN_VISUAL_STUDIO_UTILS_H_
|
|
#define TOOLS_GN_VISUAL_STUDIO_UTILS_H_
|
|
|
|
#include <string>
|
|
|
|
// Some compiler options which will be written to project file. We don't need to
|
|
// specify all options because generated project file is going to be used only
|
|
// for compilation of single file. For real build ninja files are used.
|
|
struct CompilerOptions {
|
|
CompilerOptions();
|
|
~CompilerOptions();
|
|
|
|
std::string additional_options;
|
|
std::string buffer_security_check;
|
|
std::string forced_include_files;
|
|
std::string disable_specific_warnings;
|
|
std::string optimization;
|
|
std::string runtime_library;
|
|
std::string treat_warning_as_error;
|
|
std::string warning_level;
|
|
};
|
|
|
|
// Some linker options which will be written to project file. We don't need to
|
|
// specify all options because generated project file is going to be used only
|
|
// for compilation of single file. For real build ninja files are used.
|
|
struct LinkerOptions {
|
|
LinkerOptions();
|
|
~LinkerOptions();
|
|
|
|
std::string subsystem;
|
|
};
|
|
|
|
// Generates something which looks like a GUID, but depends only on the name and
|
|
// seed. This means the same name / seed will always generate the same GUID, so
|
|
// that projects and solutions which refer to each other can explicitly
|
|
// determine the GUID to refer to explicitly. It also means that the GUID will
|
|
// not change when the project for a target is rebuilt.
|
|
std::string MakeGuid(const std::string& entry_path, const std::string& seed);
|
|
|
|
// Parses |cflag| value and stores it in |options|.
|
|
void ParseCompilerOption(const std::string& cflag, CompilerOptions* options);
|
|
|
|
// Parses |ldflags| value and stores it in |options|.
|
|
void ParseLinkerOption(const std::string& ldflag, LinkerOptions* options);
|
|
|
|
#endif // TOOLS_GN_VISUAL_STUDIO_UTILS_H_
|