You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB

  1. /*=========================================================================
  2. Program: CMake - Cross-Platform Makefile Generator
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
  8. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmCallVisualStudioMacro_h
  14. #define cmCallVisualStudioMacro_h
  15. #include "cmStandardIncludes.h"
  16. /** \class cmCallVisualStudioMacro
  17. * \brief Control class for communicating with CMake's Visual Studio macros
  18. *
  19. * Find running instances of Visual Studio by full path solution name.
  20. * Call a Visual Studio IDE macro in any of those instances.
  21. */
  22. class cmCallVisualStudioMacro
  23. {
  24. public:
  25. ///! Call the named macro in instances of Visual Studio with the
  26. ///! given solution file open. Pass "ALL" for slnFile to call the
  27. ///! macro in each Visual Studio instance.
  28. static int CallMacro(const std::string& slnFile,
  29. const std::string& macro,
  30. const std::string& args);
  31. ///! Count the number of running instances of Visual Studio with the
  32. ///! given solution file open. Pass "ALL" for slnFile to count all
  33. ///! running Visual Studio instances.
  34. static int GetNumberOfRunningVisualStudioInstances(
  35. const std::string& slnFile);
  36. protected:
  37. private:
  38. };
  39. #endif