summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2006-02-23 15:03:24 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2006-02-23 15:03:24 (GMT)
commitea5564624c3305b7a05a0aad3d93cb1f900e37d4 (patch)
tree8d045ced710380ea449f315929f08ac17b3129f1
parentf1fb182270b21cf972866f159801a9aa2a1fd689 (diff)
downloadCMake-ea5564624c3305b7a05a0aad3d93cb1f900e37d4.zip
CMake-ea5564624c3305b7a05a0aad3d93cb1f900e37d4.tar.gz
CMake-ea5564624c3305b7a05a0aad3d93cb1f900e37d4.tar.bz2
ENH: Add a notion of a global target
-rw-r--r--Source/cmMakefile.cxx1
-rw-r--r--Source/cmTarget.cxx8
-rw-r--r--Source/cmTarget.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index c4dffc2..566265d 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1056,6 +1056,7 @@ void cmMakefile::AddGlobalLinkInformation(const char* name, cmTarget& target)
switch(target.GetType())
{
case cmTarget::UTILITY:
+ case cmTarget::GLOBAL_TARGET:
case cmTarget::INSTALL_FILES:
case cmTarget::INSTALL_PROGRAMS:
return;
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 52becb9..e15dcdd 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -135,7 +135,7 @@ void cmTarget::TraceVSDependencies(std::string projFile,
srcFilesQueued.insert(projFile);
}
// add in the library depends for custom targets
- if (this->GetType() == cmTarget::UTILITY)
+ if (this->GetType() == cmTarget::UTILITY || this->GetType() == cmTarget::GLOBAL_TARGET)
{
for (std::vector<cmCustomCommand>::iterator ic =
this->GetPostBuildCommands().begin();
@@ -886,6 +886,9 @@ const char *cmTarget::GetProperty(const char* prop)
case cmTarget::UTILITY:
return "UTILITY";
break;
+ case cmTarget::GLOBAL_TARGET:
+ return "GLOBAL_TARGET";
+ break;
case cmTarget::INSTALL_FILES:
return "INSTALL_FILES";
break;
@@ -991,6 +994,7 @@ const char* cmTarget::GetCreateRuleVariable()
case cmTarget::EXECUTABLE:
return "_LINK_EXECUTABLE";
case cmTarget::UTILITY:
+ case cmTarget::GLOBAL_TARGET:
case cmTarget::INSTALL_FILES:
case cmTarget::INSTALL_PROGRAMS:
break;
@@ -1014,6 +1018,7 @@ const char* cmTarget::GetSuffixVariableInternal(TargetType type,
case cmTarget::EXECUTABLE:
return "CMAKE_EXECUTABLE_SUFFIX";
case cmTarget::UTILITY:
+ case cmTarget::GLOBAL_TARGET:
case cmTarget::INSTALL_FILES:
case cmTarget::INSTALL_PROGRAMS:
break;
@@ -1037,6 +1042,7 @@ const char* cmTarget::GetPrefixVariableInternal(TargetType type,
return "CMAKE_SHARED_MODULE_PREFIX";
case cmTarget::EXECUTABLE:
case cmTarget::UTILITY:
+ case cmTarget::GLOBAL_TARGET:
case cmTarget::INSTALL_FILES:
case cmTarget::INSTALL_PROGRAMS:
break;
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index a0af8c4..eb455fa 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -35,7 +35,7 @@ public:
cmTarget();
enum TargetType { EXECUTABLE, STATIC_LIBRARY,
SHARED_LIBRARY, MODULE_LIBRARY, UTILITY, INSTALL_FILES,
- INSTALL_PROGRAMS };
+ INSTALL_PROGRAMS, GLOBAL_TARGET};
enum CustomCommandType { PRE_BUILD, PRE_LINK, POST_BUILD };