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
9 /** \class cmCallVisualStudioMacro
10 * \brief Control class for communicating with CMake's Visual Studio macros
12 * Find running instances of Visual Studio by full path solution name.
13 * Call a Visual Studio IDE macro in any of those instances.
15 class cmCallVisualStudioMacro
18 //! Call the named macro in instances of Visual Studio with the
19 //! given solution file open. Pass "ALL" for slnFile to call the
20 //! macro in each Visual Studio instance.
21 static int CallMacro(const std::string& slnFile, const std::string& macro,
22 const std::string& args,
23 const bool logErrorsAsMessages);
25 //! Count the number of running instances of Visual Studio with the
26 //! given solution file open. Pass "ALL" for slnFile to count all
27 //! running Visual Studio instances.
28 static int GetNumberOfRunningVisualStudioInstances(
29 const std::string& slnFile);