~ubuntu-branches/ubuntu/lucid/cmake/lucid

« back to all changes in this revision

Viewing changes to Source/cmMakefileTargetGenerator.h

  • Committer: Bazaar Package Importer
  • Author(s): Artur Rona
  • Date: 2009-12-16 11:11:54 UTC
  • mfrom: (3.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20091216111154-6accvv6yq86h2hkc
Tags: 2.8.0-5ubuntu1
* Merge from debian testing (LP: #497349). Remaining changes:
  - Keep the Replaces: on cmake-data to cover the Kubuntu version from
    Jaunty in case someone decides to do an (unsupported) Jaunty->Lucid
    upgrade.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*=========================================================================
2
 
 
3
 
  Program:   CMake - Cross-Platform Makefile Generator
4
 
  Module:    $RCSfile: cmMakefileTargetGenerator.h,v $
5
 
  Language:  C++
6
 
  Date:      $Date: 2008-10-24 15:18:53 $
7
 
  Version:   $Revision: 1.24.2.2 $
8
 
 
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.
11
 
 
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.
15
 
 
16
 
=========================================================================*/
 
1
/*============================================================================
 
2
  CMake - Cross Platform Makefile Generator
 
3
  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
 
4
 
 
5
  Distributed under the OSI-approved BSD License (the "License");
 
6
  see accompanying file Copyright.txt for details.
 
7
 
 
8
  This software is distributed WITHOUT ANY WARRANTY; without even the
 
9
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
10
  See the License for more information.
 
11
============================================================================*/
17
12
#ifndef cmMakefileTargetGenerator_h
18
13
#define cmMakefileTargetGenerator_h
19
14
 
47
42
     with this target */
48
43
  virtual void WriteRuleFiles() = 0;
49
44
 
50
 
  /* the main entry point for this class. Writes the Makefiles associated
51
 
     with this target */
52
 
  virtual void WriteProgressVariables(unsigned long total, 
53
 
                                      unsigned long &current);
54
 
  
55
45
  /* return the number of actions that have progress reporting on them */
56
46
  virtual unsigned long GetNumberOfProgressActions() {
57
47
    return this->NumberOfProgressActions;}
 
48
  std::string GetProgressFileNameFull()
 
49
    { return this->ProgressFileNameFull; }
58
50
 
59
51
  cmTarget* GetTarget() { return this->Target;}
60
52
protected:
103
95
  void GenerateExtraOutput(const char* out, const char* in,
104
96
                           bool symbolic = false);
105
97
 
 
98
  void AppendProgress(std::vector<std::string>& commands);
 
99
 
106
100
  // write out the variable that lists the objects for this target
107
101
  void WriteObjectsVariable(std::string& variableName,
108
102
                            std::string& variableNameExternal);
156
150
  cmLocalUnixMakefileGenerator3 *LocalGenerator;
157
151
  cmGlobalUnixMakefileGenerator3 *GlobalGenerator;
158
152
  cmMakefile *Makefile;
 
153
  const char *ConfigName;
159
154
 
160
155
  enum CustomCommandDriveType { OnBuild, OnDepends, OnUtility };
161
156
  CustomCommandDriveType CustomCommandDriver;
165
160
  std::string BuildFileNameFull;
166
161
 
167
162
  // the full path to the progress file
168
 
  std::string ProgressFileName;
169
163
  std::string ProgressFileNameFull;
170
164
  unsigned long NumberOfProgressActions;
 
165
  bool NoRuleMessages;
171
166
 
172
167
  // the path to the directory the build file is in
173
168
  std::string TargetBuildDirectory;
191
186
  std::vector<std::string> Objects;
192
187
  std::vector<std::string> ExternalObjects;
193
188
 
 
189
  // The windows module definition source file (.def), if any.
 
190
  std::string ModuleDefinitionFile;
 
191
 
194
192
  // Set of object file names that will be built in this directory.
195
193
  std::set<cmStdString> ObjectFiles;
196
194
 
219
217
  // Compute target-specific Fortran language flags.
220
218
  void AddFortranFlags(std::string& flags);
221
219
 
 
220
  // Helper to add flag for windows .def file.
 
221
  void AddModuleDefinitionFlag(std::string& flags);
 
222
 
 
223
  // Add language feature flags.
 
224
  void AddFeatureFlags(std::string& flags, const char* lang);
 
225
 
 
226
  // Feature query methods.
 
227
  const char* GetFeature(const char* feature);
 
228
  bool GetFeatureAsBool(const char* feature);
 
229
 
222
230
  //==================================================================
223
231
  // Convenience routines that do nothing more than forward to
224
232
  // implementaitons