mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00

When CMAKE_FASTBUILD_USE_RELATIVE_PATHS is set - use relative paths for Unity nodes as well as for include directories. It makes it possible to share cache across different location of the same repo (or potentially across different machines)
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "cmLocalCommonGenerator.h"
|
|
#include "cmOutputConverter.h"
|
|
|
|
class cmGeneratorTarget;
|
|
class cmGlobalFastbuildGenerator;
|
|
class cmGlobalGenerator;
|
|
class cmMakefile;
|
|
class cmSourceFile;
|
|
struct cmObjectLocations;
|
|
|
|
class cmLocalFastbuildGenerator : public cmLocalCommonGenerator
|
|
{
|
|
public:
|
|
cmLocalFastbuildGenerator(cmGlobalGenerator* gg, cmMakefile* makefile);
|
|
|
|
void Generate() override;
|
|
|
|
void AppendFlagEscape(std::string& flags,
|
|
std::string const& rawFlag) const override;
|
|
|
|
void ComputeObjectFilenames(
|
|
std::map<cmSourceFile const*, cmObjectLocations>& mapping,
|
|
std::string const& config, cmGeneratorTarget const* gt = nullptr) override;
|
|
|
|
cmGlobalFastbuildGenerator const* GetGlobalFastbuildGenerator() const;
|
|
cmGlobalFastbuildGenerator* GetGlobalFastbuildGenerator();
|
|
|
|
void AdditionalCleanFiles(std::string const& config);
|
|
|
|
private:
|
|
std::string ConvertToIncludeReference(
|
|
std::string const& path, cmOutputConverter::OutputFormat format) override;
|
|
};
|