summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2009-09-16 22:01:23 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2009-09-16 22:01:23 (GMT)
commit298de4374b99a98dd336620d6d049c725e48faf8 (patch)
tree2234e26d10b89df1af80d5ce8df9b45f99c1381a /Source/cmLocalUnixMakefileGenerator3.h
parent229b67a2499586a9aaf54d3d5a88fee7a3f37e2c (diff)
downloadCMake-298de4374b99a98dd336620d6d049c725e48faf8.zip
CMake-298de4374b99a98dd336620d6d049c725e48faf8.tar.gz
CMake-298de4374b99a98dd336620d6d049c725e48faf8.tar.bz2
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 0bb0314..ce6b45f 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();