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