diff options
Diffstat (limited to 'Source/cmCallVisualStudioMacro.h')
-rw-r--r-- | Source/cmCallVisualStudioMacro.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/cmCallVisualStudioMacro.h b/Source/cmCallVisualStudioMacro.h new file mode 100644 index 0000000..9b5b3a8 --- /dev/null +++ b/Source/cmCallVisualStudioMacro.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 cmCallVisualStudioMacro_h +#define cmCallVisualStudioMacro_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include <string> + +/** \class cmCallVisualStudioMacro + * \brief Control class for communicating with CMake's Visual Studio macros + * + * Find running instances of Visual Studio by full path solution name. + * Call a Visual Studio IDE macro in any of those instances. + */ +class cmCallVisualStudioMacro +{ +public: + //! Call the named macro in instances of Visual Studio with the + //! given solution file open. Pass "ALL" for slnFile to call the + //! macro in each Visual Studio instance. + static int CallMacro(const std::string& slnFile, const std::string& macro, + const std::string& args, + const bool logErrorsAsMessages); + + //! Count the number of running instances of Visual Studio with the + //! given solution file open. Pass "ALL" for slnFile to count all + //! running Visual Studio instances. + static int GetNumberOfRunningVisualStudioInstances( + const std::string& slnFile); + +protected: +private: +}; + +#endif |