root/simulator/trunk/vendor/cmake/Source/cmPackageConfigureCommand.h

Revision 1240, 2.5 kB (checked in by sehenley, 1 year ago)

Update vendor branch of cmake 2.8 rc1, Required 2.8 changes to codeblocks generator.

Line 
1 //    OSRail -- a network enabled railroad operations simulator and utilities
2 //    Copyright (C) 2007,2008 Samuel E. Henley sehenley@comcast.net
3 //
4 //    This program is free software; you can redistribute it and/or modify
5 //    it under the terms of the GNU General Public License as published by
6 //    the Free Software Foundation; either version 2 of the License, or
7 //    (at your option) any later version.
8 //
9 //    This program is distributed in the hope that it will be useful,
10 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 //    GNU General Public License for more details.
13 //
14 //    You should have received a copy of the GNU General Public License along
15 //    with this program; if not, write to the Free Software Foundation, Inc.,
16 //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 US
17
18 #ifndef cmPackageConfigureCommand_h
19 #define cmPackageConfigureCommand_h
20
21 #include "cmCommand.h"
22
23 /// \class cmPackageConfigureCommand
24 ///  PackageConfigure - process pkg-config xxxx-config cflags and lib
25
26
27 class cmPackageConfigureCommand : public cmCommand
28 {
29 public:
30
31
32
33   /// clone command? - factory or create command
34   virtual cmCommand* Clone()
35   {
36       return new cmPackageConfigureCommand;
37   }
38
39
40   /// first encounter
41   virtual bool InitialPass( std::vector<std::string> const& args, cmExecutionStatus &status );
42
43
44   /// New 2.8.0
45   virtual bool HasFinalPass() const { return true; }
46
47   /// last encounter
48   virtual void FinalPass();
49
50   /// command name.
51   virtual const char* GetName() {return "package_configure";}
52
53   /// short documentation.
54   virtual const char* GetTerseDocumentation()
55   {
56       return "PackageConfigure - process pkg-config xxxx-config cflags and libs\n";;
57   }
58
59   /// long documentation.
60   virtual const char* GetFullDocumentation()
61   {
62       return
63                "PackageConfigure - A custom CMake command to \n"
64                "Process the output of pkg-config and xxxx-config\n"
65                "--cflags and --libs strings - PackageConfigure will \n"
66                "classify flags by build and library types,\n"
67                "set target libraries, linker directories,\n"
68                "cflags/defines to the current build type.\n"
69                "and compiler and linker include directories.\n"
70       ;
71   }
72
73   cmTypeMacro( cmPackageConfigureCommand, cmCommand );
74 protected:
75     /// command args
76     std::map< std::string, std::vector< std::string > > arguments;
77 };
78
79
80 #endif
Note: See TracBrowser for help on using the browser.