2002-09-04 23:22:11 +04:00
/*=========================================================================
2002-10-24 02:03:27 +04:00
Program : CMake - Cross - Platform Makefile Generator
2002-09-04 23:22:11 +04:00
Module : $ RCSfile $
Language : C + +
Date : $ Date $
Version : $ Revision $
2002-10-24 02:03:27 +04:00
Copyright ( c ) 2002 Kitware , Inc . , Insight Consortium . All rights reserved .
See Copyright . txt or http : //www.cmake.org/HTML/Copyright.html for details.
2002-09-04 23:22:11 +04:00
This software is distributed WITHOUT ANY WARRANTY ; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE . See the above copyright notices for more information .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
# include "cmGlobalBorlandMakefileGenerator.h"
2002-11-08 23:46:08 +03:00
# include "cmLocalUnixMakefileGenerator.h"
2002-09-04 23:22:11 +04:00
# include "cmMakefile.h"
# include "cmake.h"
2002-12-05 21:44:11 +03:00
cmGlobalBorlandMakefileGenerator : : cmGlobalBorlandMakefileGenerator ( )
{
m_FindMakeProgramFile = " CMakeBorlandFindMake.cmake " ;
2003-08-22 00:22:23 +04:00
m_ForceUnixPaths = false ;
2002-12-05 21:44:11 +03:00
}
2002-09-04 23:22:11 +04:00
2002-11-08 23:46:08 +03:00
void cmGlobalBorlandMakefileGenerator : : EnableLanguage ( const char * l ,
2002-09-08 05:18:09 +04:00
cmMakefile * mf )
2002-09-04 23:22:11 +04:00
{
// now load the settings
if ( ! mf - > GetDefinition ( " CMAKE_ROOT " ) )
{
cmSystemTools : : Error (
" CMAKE_ROOT has not been defined, bad GUI or driver program " ) ;
return ;
}
std : : string outdir = m_CMakeInstance - > GetStartOutputDirectory ( ) ;
if ( outdir . find ( ' - ' ) ! = std : : string : : npos )
{
std : : string message = " The Borland command line tools do not support path names that have - in them. Please re-name your output directory and use _ instead of -. " ;
message + = " \n Your path currently is: " ;
message + = outdir ;
cmSystemTools : : Error ( message . c_str ( ) ) ;
}
2002-11-08 23:46:08 +03:00
mf - > AddDefinition ( " BORLAND " , " 1 " ) ;
mf - > AddDefinition ( " CMAKE_GENERATOR_CC " , " bcc32 " ) ;
2002-12-04 18:57:22 +03:00
mf - > AddDefinition ( " CMAKE_GENERATOR_CXX " , " bcc32 " ) ;
2002-11-08 23:46:08 +03:00
this - > cmGlobalUnixMakefileGenerator : : EnableLanguage ( l , mf ) ;
2002-09-04 23:22:11 +04:00
}
///! Create a local generator appropriate to this Global Generator
cmLocalGenerator * cmGlobalBorlandMakefileGenerator : : CreateLocalGenerator ( )
{
2002-11-08 23:46:08 +03:00
cmLocalUnixMakefileGenerator * lg = new cmLocalUnixMakefileGenerator ;
lg - > SetIncludeDirective ( " !include " ) ;
lg - > SetWindowsShell ( true ) ;
lg - > SetMakefileVariableSize ( 32 ) ;
2003-10-28 19:06:06 +03:00
lg - > SetPassMakeflags ( true ) ;
2002-09-04 23:22:11 +04:00
lg - > SetGlobalGenerator ( this ) ;
return lg ;
}
2003-07-08 05:52:10 +04:00
//----------------------------------------------------------------------------
void cmGlobalBorlandMakefileGenerator : : GetDocumentation ( cmDocumentationEntry & entry ) const
{
entry . name = this - > GetName ( ) ;
entry . brief = " Generates Borland makefiles. " ;
entry . full = " " ;
}