From ea5564624c3305b7a05a0aad3d93cb1f900e37d4 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Thu, 23 Feb 2006 10:03:24 -0500 Subject: ENH: Add a notion of a global target --- Source/cmMakefile.cxx | 1 + Source/cmTarget.cxx | 8 +++++++- Source/cmTarget.h | 2 +- 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::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 }; -- cgit v0.12