summaryrefslogtreecommitdiff
path: root/Source/cmLocalUnixMakefileGenerator3.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2009-09-16 18:01:23 -0400
committerAlexander Neundorf <neundorf@kde.org>2009-09-16 18:01:23 -0400
commit298de4374b99a98dd336620d6d049c725e48faf8 (patch)
tree2234e26d10b89df1af80d5ce8df9b45f99c1381a /Source/cmLocalUnixMakefileGenerator3.h
parent229b67a2499586a9aaf54d3d5a88fee7a3f37e2c (diff)
downloadcmake-298de4374b99a98dd336620d6d049c725e48faf8.tar.gz
Major improvement of the generated targets in Eclipse.
Before this change all targets were displayed in the top level directory of the project. Now the targets are displayed in the correct directory. The targets "clean" and "all" are now created in every subdirectory. Also now the targets for just compiling one file, preprocessing one file, assembling one file are are created for Eclipse. Additionally all targets get a prefix now in eclipse, so that they are sorted in a way which makes sense (global targets first, then executable and libraries, then object files, then preprocessed, then assembly). Also this prefix gives the user a hint what the target is, i.e. whether it's a library or an executable or something else. Alex
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.h')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 0bb03146fd..ce6b45f18d 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -246,6 +246,10 @@ public:
struct LocalObjectInfo: public std::vector<LocalObjectEntry>
{
bool HasSourceExtension;
+ bool HasPreprocessRule;
+ bool HasAssembleRule;
+ LocalObjectInfo():HasSourceExtension(false), HasPreprocessRule(false),
+ HasAssembleRule(false) {}
};
std::map<cmStdString, LocalObjectInfo> const& GetLocalObjectFiles()
{ return this->LocalObjectFiles;}
@@ -266,6 +270,12 @@ public:
// Get the directories into which the .o files will go for this target
void GetTargetObjectFileDirectories(cmTarget* target,
std::vector<std::string>& dirs);
+
+ // Fill the vector with the target names for the object files,
+ // preprocessed files and assembly files. Currently only used by the
+ // Eclipse generator.
+ void GetIndividualFileTargets(std::vector<std::string>& targets);
+
protected:
void WriteLocalMakefile();