1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
11 #include "cmsys/Status.hxx"
13 #include "cmCryptoHash.h"
21 * Execute commands during the build process. Supports options such
22 * as echo, remove file etc.
24 static int ExecuteCMakeCommand(std::vector<std::string> const&,
25 std::unique_ptr<cmConsoleBuf> consoleBuf);
28 static int HandleCoCompileCommands(std::vector<std::string> const& args);
29 static int HashSumFile(std::vector<std::string> const& args,
30 cmCryptoHash::Algo algo);
31 static int SymlinkLibrary(std::vector<std::string> const& args);
32 static int SymlinkExecutable(std::vector<std::string> const& args);
33 static cmsys::Status SymlinkInternal(std::string const& file,
34 std::string const& link);
35 static int ExecuteEchoColor(std::vector<std::string> const& args);
36 static int ExecuteLinkScript(std::vector<std::string> const& args);
37 static int WindowsCEEnvironment(const char* version,
38 const std::string& name);
39 static int RunPreprocessor(const std::vector<std::string>& command,
40 const std::string& intermediate_file);
41 static int RunLLVMRC(std::vector<std::string> const& args);
42 static int VisualStudioLink(std::vector<std::string> const& args, int type);