summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-05-09 12:25:45 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-05-09 12:25:45 (GMT)
commit7f11536704d9f971cf5c8b0a2b490ccc6af58588 (patch)
tree05b5b24050a629bf9ceb59d743f77ca909448229 /Source/cmLocalGenerator.h
parent5af310502142252995ad5d74e66355be4094b7cc (diff)
downloadCMake-7f11536704d9f971cf5c8b0a2b490ccc6af58588.zip
CMake-7f11536704d9f971cf5c8b0a2b490ccc6af58588.tar.gz
CMake-7f11536704d9f971cf5c8b0a2b490ccc6af58588.tar.bz2
ENH: now target names can be used in add_custom_command() and
add_custom_target() as COMMAND, and cmake will recognize them and replace them with the actual output path of these executables. Also the dependency will be added automatically. Test included. ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(), so it is done now in one central place Alex
Diffstat (limited to 'Source/cmLocalGenerator.h')
-rw-r--r--Source/cmLocalGenerator.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 6519889..a9f5682 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -42,7 +42,7 @@ public:
/**
* Generate the makefile for this directory.
*/
- virtual void Generate() {};
+ virtual void Generate() {}
/**
* Process the CMakeLists files for this directory to fill in the
@@ -50,6 +50,11 @@ public:
*/
virtual void Configure();
+ /**
+ * Calls TraceVSDependencies() on all targets of this generator.
+ */
+ virtual void TraceDependencies();
+
/**
* Perform any final calculations prior to generation
*/
@@ -137,6 +142,11 @@ public:
the source directory of this generator. This should only be
used for dependencies of custom commands. */
std::string GetRealDependency(const char* name, const char* config);
+
+ /** Translate a command as given in CMake code to the location of the
+ executable if the command is the name of a CMake executable target.
+ If that's not the case, just return the original name. */
+ std::string GetRealLocation(const char* inName, const char* config);
///! for existing files convert to output path and short path if spaces
std::string ConvertToOutputForExisting(const char* p);
@@ -298,6 +308,8 @@ protected:
bool IgnoreLibPrefix;
bool Configured;
bool EmitUniversalBinaryFlags;
+ // A type flag is not nice. It's used only in TraceDependencies().
+ bool IsMakefileGenerator;
// Hack for ExpandRuleVariable until object-oriented version is
// committed.
std::string TargetImplib;