1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmGlobalBorlandMakefileGenerator.cxx,v $
6 Date: $Date: 2007-10-22 16:48:39 $
7 Version: $Revision: 1.28 $
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 #include "cmGlobalBorlandMakefileGenerator.h"
18 #include "cmLocalUnixMakefileGenerator3.h"
19 #include "cmMakefile.h"
22 cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator()
24 this->EmptyRuleHackDepends
= "NUL";
25 this->FindMakeProgramFile
= "CMakeBorlandFindMake.cmake";
26 this->ForceUnixPaths
= false;
27 this->ToolSupportsColor
= true;
28 this->UseLinkScript
= false;
32 void cmGlobalBorlandMakefileGenerator
33 ::EnableLanguage(std::vector
<std::string
>const& l
,
37 std::string outdir
= this->CMakeInstance
->GetStartOutputDirectory();
38 mf
->AddDefinition("BORLAND", "1");
39 mf
->AddDefinition("CMAKE_GENERATOR_CC", "bcc32");
40 mf
->AddDefinition("CMAKE_GENERATOR_CXX", "bcc32");
41 this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l
, mf
, optional
);
44 ///! Create a local generator appropriate to this Global Generator
45 cmLocalGenerator
*cmGlobalBorlandMakefileGenerator::CreateLocalGenerator()
47 cmLocalUnixMakefileGenerator3
* lg
= new cmLocalUnixMakefileGenerator3
;
48 lg
->SetIncludeDirective("!include");
49 lg
->SetWindowsShell(true);
50 lg
->SetDefineWindowsNULL(true);
51 lg
->SetMakefileVariableSize(32);
52 lg
->SetPassMakeflags(true);
53 lg
->SetGlobalGenerator(this);
55 lg
->SetMakeCommandEscapeTargetTwice(true);
56 lg
->SetBorlandMakeCurlyHack(true);
61 //----------------------------------------------------------------------------
62 void cmGlobalBorlandMakefileGenerator
63 ::GetDocumentation(cmDocumentationEntry
& entry
) const
65 entry
.Name
= this->GetName();
66 entry
.Brief
= "Generates Borland makefiles.";