/* 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 #include class cmcmd { public: /** * Execute commands during the build process. Supports options such * as echo, remove file etc. */ static int ExecuteCMakeCommand(std::vector&); protected: static int HashSumFile(std::vector& args, cmCryptoHash::Algo algo); static int SymlinkLibrary(std::vector& args); static int SymlinkExecutable(std::vector& args); static bool SymlinkInternal(std::string const& file, std::string const& link); static int ExecuteEchoColor(std::vector& args); static int ExecuteLinkScript(std::vector& args); static int WindowsCEEnvironment(const char* version, const std::string& name); static int VisualStudioLink(std::vector& args, int type); }; #endif