mirror of
https://github.com/Kitware/CMake.git
synced 2025-06-19 11:31:30 +08:00

See https://github.com/codespell-project/codespell#readme The following command was used: ``` codespell -q6 --skip="\ .git,\ *.json,\ ./Copyright.txt,\ ./Help/command/foreach.rst,\ ./Help/prop_test/REQUIRED_FILES.rst,\ ./Help/variable/CTEST_COVERAGE_COMMAND.rst,\ ./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\ ./Modules/CMakeRCInformation.cmake,\ ./Modules/Internal/CPack/NSIS.template.in,\ ./Modules/FindMatlab.cmake,\ ./Modules/MatlabTestsRedirect.cmake,\ ./Modules/Platform/Windows-Clang.cmake,\ ./Modules/Platform/Windows-Intel-Fortran.cmake,\ ./Modules/Platform/Windows-MSVC.cmake,\ ./Source/CMakeVersion.cmake,\ ./Source/cmConvertMSBuildXMLToJSON.py,\ ./Source/cmCreateTestSourceList.cxx,\ ./Source/cmGlobalVisualStudio10Generator.cxx,\ ./Source/cmExportBuildFileGenerator.cxx,\ ./Source/cmExportInstallAndroidMKGenerator.cxx,\ ./Source/cmExportInstallFileGenerator.cxx,\ ./Source/cmExportSet.cxx,\ ./Source/cmExportTryCompileFileGenerator.cxx,\ ./Source/cmFindPackageCommand.cxx,\ ./Source/cmInstallCommand.cxx,\ ./Source/cmGeneratorExpressionLexer.cxx,\ ./Source/cmLocalVisualStudio7Generator.cxx,\ ./Source/cmOrderDirectories.cxx,\ ./Source/cmTarget.cxx,\ ./Source/kwsys/*,\ ./Source/QtDialog/CMakeSetupDialog.ui,\ ./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\ ./Source/CTest/cmParseCoberturaCoverage.h,\ ./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\ ./Tests/RunCMake/GoogleTest/xml_output.cpp,\ ./Tests/RunCMake/Make/TargetMessages*,\ ./Utilities/*,\ " \ -L "\ dependees,\ endwhile,\ fo,\ filetest,\ helpfull,\ nd,\ objext,\ stoll,\ supercedes,\ superceded,\ vas,\ varn,\ " ```
87 lines
3.2 KiB
C++
87 lines
3.2 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#ifndef cmGhsMultiTargetGenerator_h
|
|
#define cmGhsMultiTargetGenerator_h
|
|
|
|
#include <iosfwd>
|
|
#include <map>
|
|
#include <set>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "cmGhsMultiGpj.h"
|
|
|
|
class cmCustomCommand;
|
|
class cmCustomCommandGenerator;
|
|
class cmGeneratorTarget;
|
|
class cmGlobalGhsMultiGenerator;
|
|
class cmLocalGhsMultiGenerator;
|
|
class cmMakefile;
|
|
class cmSourceFile;
|
|
|
|
class cmGhsMultiTargetGenerator
|
|
{
|
|
public:
|
|
cmGhsMultiTargetGenerator(cmGeneratorTarget* target);
|
|
|
|
virtual ~cmGhsMultiTargetGenerator();
|
|
|
|
virtual void Generate();
|
|
|
|
private:
|
|
cmGlobalGhsMultiGenerator* GetGlobalGenerator() const;
|
|
|
|
void GenerateTarget();
|
|
|
|
void WriteTargetSpecifics(std::ostream& fout, const std::string& config);
|
|
|
|
void WriteCompilerFlags(std::ostream& fout, const std::string& config,
|
|
const std::string& language);
|
|
void WriteCompilerDefinitions(std::ostream& fout, const std::string& config,
|
|
const std::string& language);
|
|
|
|
void SetCompilerFlags(std::string const& config,
|
|
const std::string& language);
|
|
|
|
std::string GetDefines(const std::string& language,
|
|
std::string const& config);
|
|
|
|
void WriteIncludes(std::ostream& fout, const std::string& config,
|
|
const std::string& language);
|
|
void WriteTargetLinkLine(std::ostream& fout, std::string const& config);
|
|
void WriteBuildEvents(std::ostream& fout);
|
|
void WriteBuildEventsHelper(std::ostream& fout,
|
|
const std::vector<cmCustomCommand>& ccv,
|
|
std::string const& name, std::string const& cmd);
|
|
void WriteCustomCommandsHelper(std::ostream& fout,
|
|
cmCustomCommandGenerator const& ccg);
|
|
void WriteCustomCommandLine(std::ostream& fout, std::string& fname,
|
|
cmCustomCommandGenerator const& ccg);
|
|
bool ComputeCustomCommandOrder(std::vector<cmSourceFile const*>& order);
|
|
bool VisitCustomCommand(std::set<cmSourceFile const*>& temp,
|
|
std::set<cmSourceFile const*>& perm,
|
|
std::vector<cmSourceFile const*>& order,
|
|
cmSourceFile const* sf);
|
|
void WriteSources(std::ostream& fout_proj);
|
|
void WriteSourceProperty(std::ostream& fout, const cmSourceFile* sf,
|
|
std::string const& propName,
|
|
std::string const& propFlag);
|
|
static void WriteObjectLangOverride(std::ostream& fout,
|
|
const cmSourceFile* sourceFile);
|
|
|
|
bool DetermineIfIntegrityApp();
|
|
cmGeneratorTarget* GeneratorTarget;
|
|
cmLocalGhsMultiGenerator* LocalGenerator;
|
|
cmMakefile* Makefile;
|
|
std::map<std::string, std::string> FlagsByLanguage;
|
|
std::map<std::string, std::string> DefinesByLanguage;
|
|
|
|
std::string TargetNameReal;
|
|
GhsMultiGpj::Types TagType;
|
|
std::string const Name;
|
|
std::string ConfigName; /* CMAKE_BUILD_TYPE */
|
|
bool const CmdWindowsShell; /* custom commands run in cmd.exe or /bin/sh */
|
|
};
|
|
|
|
#endif // ! cmGhsMultiTargetGenerator_h
|