diff options
Diffstat (limited to 'Source/cmCustomCommandGenerator.h')
-rw-r--r-- | Source/cmCustomCommandGenerator.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Source/cmCustomCommandGenerator.h b/Source/cmCustomCommandGenerator.h new file mode 100644 index 0000000..7fd60c0 --- /dev/null +++ b/Source/cmCustomCommandGenerator.h @@ -0,0 +1,50 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmCustomCommandGenerator_h +#define cmCustomCommandGenerator_h + +#include "cmConfigure.h" // IWYU pragma: keep +#include "cmCustomCommandLines.h" + +#include <string> +#include <vector> + +class cmCustomCommand; +class cmGeneratorExpression; +class cmLocalGenerator; + +class cmCustomCommandGenerator +{ + cmCustomCommand const& CC; + std::string Config; + cmLocalGenerator* LG; + bool OldStyle; + bool MakeVars; + cmGeneratorExpression* GE; + cmCustomCommandLines CommandLines; + std::vector<std::string> Depends; + std::string WorkingDirectory; + + const char* GetCrossCompilingEmulator(unsigned int c) const; + const char* GetArgv0Location(unsigned int c) const; + +public: + cmCustomCommandGenerator(cmCustomCommand const& cc, std::string config, + cmLocalGenerator* lg); + ~cmCustomCommandGenerator(); + cmCustomCommandGenerator(const cmCustomCommandGenerator&) = delete; + cmCustomCommandGenerator& operator=(const cmCustomCommandGenerator&) = + delete; + cmCustomCommand const& GetCC() const { return this->CC; } + unsigned int GetNumberOfCommands() const; + std::string GetCommand(unsigned int c) const; + void AppendArguments(unsigned int c, std::string& cmd) const; + const char* GetComment() const; + std::string GetWorkingDirectory() const; + std::vector<std::string> const& GetOutputs() const; + std::vector<std::string> const& GetByproducts() const; + std::vector<std::string> const& GetDepends() const; + bool HasOnlyEmptyCommandLines() const; +}; + +#endif |