diff options
Diffstat (limited to 'Source/cmcmd.h')
-rw-r--r-- | Source/cmcmd.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/cmcmd.h b/Source/cmcmd.h new file mode 100644 index 0000000..d1e03d0 --- /dev/null +++ b/Source/cmcmd.h @@ -0,0 +1,36 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmcmd_h +#define cmcmd_h + +#include "cmConfigure.h" // IWYU pragma: keep +#include "cmCryptoHash.h" + +#include <string> +#include <vector> + +class cmcmd +{ +public: + /** + * Execute commands during the build process. Supports options such + * as echo, remove file etc. + */ + static int ExecuteCMakeCommand(std::vector<std::string>&); + +protected: + static int HandleCoCompileCommands(std::vector<std::string>& args); + static int HashSumFile(std::vector<std::string>& args, + cmCryptoHash::Algo algo); + static int SymlinkLibrary(std::vector<std::string>& args); + static int SymlinkExecutable(std::vector<std::string>& args); + static bool SymlinkInternal(std::string const& file, + std::string const& link); + static int ExecuteEchoColor(std::vector<std::string>& args); + static int ExecuteLinkScript(std::vector<std::string>& args); + static int WindowsCEEnvironment(const char* version, + const std::string& name); + static int VisualStudioLink(std::vector<std::string> const& args, int type); +}; + +#endif |