cmGlobalBorlandMakefileGenerator.h 2 KB
Newer Older
1 2
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
Ken Martin's avatar
Ken Martin committed
3 4 5 6 7
#ifndef cmGlobalBorlandMakefileGenerator_h
#define cmGlobalBorlandMakefileGenerator_h

#include "cmGlobalNMakeMakefileGenerator.h"

8 9
#include <iosfwd>

Ken Martin's avatar
Ken Martin committed
10 11 12 13 14
/** \class cmGlobalBorlandMakefileGenerator
 * \brief Write a Borland makefiles.
 *
 * cmGlobalBorlandMakefileGenerator manages nmake build process for a tree
 */
15
class cmGlobalBorlandMakefileGenerator : public cmGlobalUnixMakefileGenerator3
Ken Martin's avatar
Ken Martin committed
16 17
{
public:
18
  cmGlobalBorlandMakefileGenerator(cmake* cm);
19 20 21 22 23
  static cmGlobalGeneratorFactory* NewFactory()
  {
    return new cmGlobalGeneratorSimpleFactory<
      cmGlobalBorlandMakefileGenerator>();
  }
24

25
  //! Get the name for the generator.
26
  std::string GetName() const override
27 28 29 30
  {
    return cmGlobalBorlandMakefileGenerator::GetActualName();
  }
  static std::string GetActualName() { return "Borland Makefiles"; }
Ken Martin's avatar
Ken Martin committed
31

32
  /** Get the documentation entry for this generator.  */
33
  static void GetDocumentation(cmDocumentationEntry& entry);
34

35
  //! Create a local generator appropriate to this Global Generator
36
  cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override;
Ken Martin's avatar
Ken Martin committed
37 38

  /**
39
   * Try to determine system information such as shared library
40
   * extension, pthreads, byte order etc.
Ken Martin's avatar
Ken Martin committed
41
   */
42 43 44 45 46 47 48
  void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*,
                      bool optional) override;

  bool AllowNotParallel() const override { return false; }
  bool AllowDeleteOnError() const override { return false; }

protected:
49 50 51 52 53 54
  std::vector<GeneratedMakeCommand> GenerateBuildCommand(
    const std::string& makeProgram, const std::string& projectName,
    const std::string& projectDir, std::vector<std::string> const& targetNames,
    const std::string& config, bool fast, int jobs, bool verbose,
    std::vector<std::string> const& makeOptions =
      std::vector<std::string>()) override;
55

56
  void PrintBuildCommandAdvice(std::ostream& os, int jobs) const override;
Ken Martin's avatar
Ken Martin committed
57 58 59
};

#endif