BUG: fix for 4186, kdevelop adding file twice

This commit is contained in:
Bill Hoffman 2007-01-25 15:44:52 -05:00
parent 2f84bd1758
commit bd531d3fae
5 changed files with 14 additions and 110 deletions

View File

@ -175,8 +175,7 @@ SET(SRCS
# Kdevelop only works on UNIX and not windows
IF(UNIX)
SET(SRCS ${SRCS}
cmGlobalKdevelopGenerator.cxx
cmLocalKdevelopGenerator.cxx)
cmGlobalKdevelopGenerator.cxx)
ENDIF(UNIX)
# XCode only works on apple
IF(APPLE)

View File

@ -17,7 +17,7 @@
=========================================================================*/
#include "cmGlobalKdevelopGenerator.h"
#include "cmLocalKdevelopGenerator.h"
#include "cmLocalUnixMakefileGenerator3.h"
#include "cmMakefile.h"
#include "cmake.h"
#include "cmSourceFile.h"
@ -36,7 +36,8 @@ cmGlobalKdevelopGenerator::cmGlobalKdevelopGenerator()
///! Create a local generator appropriate to this Global Generator
cmLocalGenerator *cmGlobalKdevelopGenerator::CreateLocalGenerator()
{
cmLocalGenerator *lg = new cmLocalKdevelopGenerator;
cmLocalUnixMakefileGenerator3 *lg = new cmLocalUnixMakefileGenerator3;
lg->SetForceVerboseMakefiles(true);
lg->SetGlobalGenerator(this);
return lg;
}
@ -185,6 +186,7 @@ bool cmGlobalKdevelopGenerator
hname += *ext;
if(cmSystemTools::FileExists(hname.c_str()))
{
cmSystemTools::ReplaceString(hname, projectDir.c_str(), "");
files.insert(hname);
break;
}

View File

@ -1,41 +0,0 @@
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
Copyright (c) 2004 Alexander Neundorf, neundorf@kde.org. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
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 "cmGlobalGenerator.h"
#include "cmLocalKdevelopGenerator.h"
#include "cmMakefile.h"
#include "cmSystemTools.h"
#include "cmSourceFile.h"
#include "cmCacheManager.h"
#include "cmGeneratedFileStream.h"
#include "cmake.h"
#include <cmsys/RegularExpression.hxx>
cmLocalKdevelopGenerator::cmLocalKdevelopGenerator()
:cmLocalUnixMakefileGenerator3()
{
// KDevelop can itself shorten the output, so it should
// always get the full output, otherwise the "full output"
// option in kdevelop doesn't make much sense, Alex
this->ForceVerboseMakefiles=true;
}
cmLocalKdevelopGenerator::~cmLocalKdevelopGenerator()
{
}

View File

@ -1,40 +0,0 @@
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
Copyright (c) 2004 Alexander Neundorf, neundorf@kde.org. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
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.
=========================================================================*/
#ifndef cmLocalKdevelopGenerator_h
#define cmLocalKdevelopGenerator_h
#include "cmLocalUnixMakefileGenerator3.h"
class cmDependInformation;
class cmMakeDepend;
class cmTarget;
class cmSourceFile;
/** \class cmLocalKdevelopGenerator
*/
class cmLocalKdevelopGenerator : public cmLocalUnixMakefileGenerator3
{
public:
///! Set cache only and recurse to false by default.
cmLocalKdevelopGenerator();
virtual ~cmLocalKdevelopGenerator();
};
#endif

View File

@ -51,18 +51,6 @@ public:
virtual void Generate();
// this returns the relative path between the HomeOutputDirectory and this
// local generators StartOutputDirectory
const std::string &GetHomeRelativeOutputPath();
@ -135,6 +123,15 @@ public:
*/
void SetSilentNoColon(bool v) {this->SilentNoColon = v;}
/**
* If set to true, the CMake variable CMAKE_VERBOSE_MAKEFILES doesn't have
* anymore. Set it to true when writing a generator where short output
* doesn't make sense, e.g. because the full output is parsed by an
* IDE/editor.
*/
void SetForceVerboseMakefiles(bool enable)
{this->ForceVerboseMakefiles=enable;}
/**
* Set the command to use for native make shell echo. The value
* should include all parts of the command up to the beginning of
@ -267,19 +264,6 @@ protected:
void WriteDirectoryInformationFile();
// write the depend info
void WriteDependLanguageInfo(std::ostream& cmakefileStream, cmTarget &tgt);