[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1238-g9b0207a

Brad King brad.king at kitware.com
Thu Dec 6 14:55:32 EST 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  9b0207a1d3b08d938509ac1b3f3368c0e0eaf137 (commit)
       via  f1f02264c4f524cdb54f03604e872c2c0c0a8639 (commit)
       via  445a709782d9dbc970c578eaf3640cbc8944af90 (commit)
      from  687834d31aab938a884e85885e34cdd9d5a506b7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9b0207a1d3b08d938509ac1b3f3368c0e0eaf137
commit 9b0207a1d3b08d938509ac1b3f3368c0e0eaf137
Merge: 687834d f1f0226
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 6 14:55:30 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Dec 6 14:55:30 2012 -0500

    Merge topic 'add-INTERFACE_LINK_LIBRARIES-property' into next
    
    f1f0226 Merge branch 'add-INTERFACE_LINK_LIBRARIES-property-revert' into add-INTERFACE_LINK_LIBRARIES-property
    445a709 Revert topic 'add-INTERFACE_LINK_LIBRARIES-property'


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f1f02264c4f524cdb54f03604e872c2c0c0a8639
commit f1f02264c4f524cdb54f03604e872c2c0c0a8639
Merge: 1864a18 445a709
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 6 14:51:57 2012 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Dec 6 14:51:57 2012 -0500

    Merge branch 'add-INTERFACE_LINK_LIBRARIES-property-revert' into add-INTERFACE_LINK_LIBRARIES-property
    
    Conflicts:
    	Source/cmPolicies.cxx
    	Source/cmPolicies.h

diff --cc Source/cmPolicies.cxx
index 6bfd807,6aef502..c16acc8
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@@ -491,70 -491,6 +491,23 @@@ cmPolicies::cmPolicies(
      "CMAKE_SHARED_LIBRARY_<Lang>_FLAGS whether it is modified or not and "
      "honor the POSITION_INDEPENDENT_CODE target property.",
      2,8,9,0, cmPolicies::WARN);
 +
-     this->DefinePolicy(
-     CMP0019, "CMP0019",
-     "Use INTERFACE_LINK_LIBRARIES instead of LINK_INTERFACE_LIBRARIES.",
-     "A CMake shared library target (or an executable with the "
-     "ENABLE_EXPORTS property) may be given a \"link interface\" "
-     "determining the libraries that must be linked by its dependents.  "
-     "CMake 2.8.10 and lower used the LINK_INTERFACE_LIBRARIES and "
-     "LINK_INTERFACE_LIBRARIES_<CONFIG> target properties "
-     "to determine the link interface.  "
-     "CMake 2.8.11 and higher prefer the single "
-     "INTERFACE_LINK_LIBRARIES target property "
-     "to determine the link interface.  "
-     "The new property supports generator expressions "
-     "to specify configuration-specific link libraries."
-     "\n"
-     "This policy is not considered when loading IMPORTED targets.  "
-     "However, it does affect how the export() and install(EXPORT) "
-     "commands generate imported targets for use in dependent projects.  "
-     "\n"
-     "The OLD behavior for this policy is to ignore the new "
-     "INTERFACE_LINK_LIBRARIES property and use the old "
-     "LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties to determine the "
-     "link interface.  "
-     "Targets named after LINK_PUBLIC in target_link_libraries will "
-     "populate the old properties and the new.  "
-     "The export() and install(EXPORT) commands will generate only the "
-     "IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties on a "
-     "target to be imported into other projects, and not "
-     "INTERFACE_LINK_LIBRARIES.  "
-     "\n"
-     "The NEW behavior for this policy is to ignore the old "
-     "LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties and use the new "
-     "INTERFACE_LINK_LIBRARIES property to determine the link interface.  "
-     "Targets named after LINK_PUBLIC in target_link_libraries will "
-     "populate the new property and not the old.  "
-     "The export() and install(EXPORT) commands will generate the new "
-     "INTERFACE_LINK_LIBRARIES property on a target to be imported "
-     "into other projects.  "
-     "They will generate IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) "
-     "properties only if LINK_INTERFACE_LIBRARIES(_<CONFIG>) have been "
-     "set explicitly on the target to be exported."
-     "\n"
-     "The setting for this policy used to determine the link interface is "
-     "that in effect when the target is created by an add_library or "
-     "add_executable command.",
-     2,8,11,0, cmPolicies::WARN);
- 
 +  this->DefinePolicy(
 +    CMP0021, "CMP0021",
 +    "Do not re-expand variables in include and link information.",
 +    "CMake 2.8.10 and lower re-evaluated values given to the "
 +    "include_directories, link_directories, and link_libraries "
 +    "commands to expand any leftover variable references at the "
 +    "end of the configuration step.  "
 +    "This was for strict compatibility with VERY early CMake versions "
 +    "because all variable references are now normally evaluated during "
 +    "CMake language processing.  "
 +    "CMake 2.8.11 and higher prefer to skip the extra evaluation."
 +    "\n"
 +    "The OLD behavior for this policy is to re-evaluate the values "
 +    "for strict compatibility.  "
 +    "The NEW behavior for this policy is to leave the values untouched.",
 +    2,8,11,0, cmPolicies::WARN);
  }
  
  cmPolicies::~cmPolicies()
diff --cc Source/cmPolicies.h
index cdd4856,6932565..9180b26
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@@ -68,9 -68,6 +68,9 @@@ public
      CMP0018, ///< Ignore language flags for shared libs, and adhere to
      /// POSITION_INDEPENDENT_CODE property and *_COMPILE_OPTIONS_PI{E,C}
      /// instead.
-     CMP0019, ///< Use new-style INTERFACE_LINK_LIBRARIES
++    CMP0019, ///< Reserved.
 +    CMP0020, ///< Reserved.
 +    CMP0021, ///< No variable re-expansion in include and link info
  
      /** \brief Always the last entry.
       *

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=445a709782d9dbc970c578eaf3640cbc8944af90
commit 445a709782d9dbc970c578eaf3640cbc8944af90
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 6 14:49:57 2012 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Dec 6 14:49:57 2012 -0500

    Revert topic 'add-INTERFACE_LINK_LIBRARIES-property'
    
    Revert commits:
    
    6a392199 Add INTERFACE_LINK_LIBRARIES property
    8e9f8b67 GenEx: Add the CONFIG_DEBUG expression
    88cf651b GenEx: Add expressions to specify build- or install-only values
    
    The feature requires further design discussion and prototyping.

diff --git a/Source/cmDocumentGeneratorExpressions.h b/Source/cmDocumentGeneratorExpressions.h
index 60ff89b..445fd0e 100644
--- a/Source/cmDocumentGeneratorExpressions.h
+++ b/Source/cmDocumentGeneratorExpressions.h
@@ -19,8 +19,6 @@
   "  $<0:...>                  = empty string (ignores \"...\")\n"      \
   "  $<1:...>                  = content of \"...\"\n"                  \
   "  $<CONFIG:cfg>             = '1' if config is \"cfg\", else '0'\n"  \
-  "  $<CONFIG_DEBUG>           = '1' if the current config is a debug " \
-  "config (see global property DEBUG_CONFIGURATIONS), else '0'\n"       \
   "  $<CONFIGURATION>          = configuration name\n"                  \
   "  $<BOOL:...>               = '1' if the '...' is true, else '0'\n"  \
   "  $<STREQUAL:a,b>           = '1' if a is STREQUAL b, else '0'\n"    \
@@ -28,15 +26,6 @@
   "strings which contain a '>' for example.\n"                          \
   "  $<COMMA>                  = A literal ','. Used to compare "       \
   "strings which contain a ',' for example.\n"                          \
-  "  $<INSTALL_INTERFACE:...>  = content of \"...\" when the property " \
-  "is exported using install(EXPORT), and empty otherwise.\n"           \
-  "  $<BUILD_INTERFACE:...>    = content of \"...\" when the property " \
-  "is exported using export(), or when the target is used by another "  \
-  "target in the same buildsystem. Expands to the empty string "        \
-  "otherwise.\n"                                                        \
-  "  $<EXPORT_NAMESPACE>       = The namespace used in an invokation "  \
-  "of export() or install(EXPORT). Expands to empty in other "          \
-  "contexts.\n"                                                         \
   "  $<TARGET_FILE:tgt>        = main file (.exe, .so.1.2, .a)\n"       \
   "  $<TARGET_LINKER_FILE:tgt> = file used to link (.a, .lib, .so)\n"   \
   "  $<TARGET_SONAME_FILE:tgt> = file with soname (.so.3)\n"            \
diff --git a/Source/cmDocumentVariables.cxx b/Source/cmDocumentVariables.cxx
index 2502b92..55d70f8 100644
--- a/Source/cmDocumentVariables.cxx
+++ b/Source/cmDocumentVariables.cxx
@@ -1397,14 +1397,6 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
      false,
      "Variables that Control the Build");
   cm->DefineProperty
-    ("CMAKE_INTERFACE_LINK_LIBRARIES", cmProperty::VARIABLE,
-     "Default value for INTERFACE_LINK_LIBRARIES of targets.",
-     "This variable is used to initialize the "
-     "INTERFACE_LINK_LIBRARIES property on all the targets. "
-     "See that target property for additional information.",
-     false,
-     "Variables that Control the Build");
-  cm->DefineProperty
     ("CMAKE_WIN32_EXECUTABLE", cmProperty::VARIABLE,
      "Default value for WIN32_EXECUTABLE of targets.",
      "This variable is used to initialize the "
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index 3812516..fb3f39f 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -12,7 +12,6 @@
 #include "cmExportBuildFileGenerator.h"
 
 #include "cmExportCommand.h"
-#include "cmGeneratorExpression.h"
 
 //----------------------------------------------------------------------------
 cmExportBuildFileGenerator::cmExportBuildFileGenerator()
@@ -32,20 +31,6 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream& os)
     if(this->ExportedTargets.insert(te).second)
       {
       this->GenerateImportTargetCode(os, te);
-
-      ImportPropertyMap properties;
-
-      if ((*tei)->GetPolicyStatusCMP0019() == cmPolicies::NEW)
-        {
-        if ((*tei)->GetType() != cmTarget::STATIC_LIBRARY)
-          {
-          this->PopulateInterfaceProperty("INTERFACE_LINK_LIBRARIES", te,
-                                        cmGeneratorExpression::BuildInterface,
-                                        properties);
-          }
-        }
-
-      this->GenerateInterfaceProperties(te, os, properties);
       }
     else
       {
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index a67c3ee..8dffae4 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -125,50 +125,6 @@ void cmExportFileGenerator::GenerateImportConfig(std::ostream& os,
 }
 
 //----------------------------------------------------------------------------
-void cmExportFileGenerator::PopulateInterfaceProperty(const char *propName,
-                      cmTarget *target,
-                      cmGeneratorExpression::PreprocessContext preprocessRule,
-                      ImportPropertyMap &properties)
-{
-  const char *input = target->GetProperty(propName);
-  if (input)
-    {
-    if (!*input)
-      {
-      // Set to empty
-      properties[propName] = "";
-      return;
-      }
-    std::string prepro = cmGeneratorExpression::Preprocess(input,
-                                                    preprocessRule,
-                                                    this->Namespace.c_str());
-    if (!prepro.empty())
-      {
-      properties[propName] = prepro;
-      }
-    }
-}
-
-//----------------------------------------------------------------------------
-void cmExportFileGenerator::GenerateInterfaceProperties(cmTarget *target,
-                                        std::ostream& os,
-                                        const ImportPropertyMap &properties)
-{
-  if (!properties.empty())
-    {
-    std::string targetName = this->Namespace;
-    targetName += target->GetName();
-    os << "SET_TARGET_PROPERTIES(" << targetName << " PROPERTIES\n";
-    for(ImportPropertyMap::const_iterator pi = properties.begin();
-        pi != properties.end(); ++pi)
-      {
-      os << "  " << pi->first << " \"" << pi->second << "\"\n";
-      }
-    os << ")\n\n";
-    }
-}
-
-//----------------------------------------------------------------------------
 void
 cmExportFileGenerator
 ::SetImportDetailProperties(const char* config, std::string const& suffix,
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index 3aee1b8..70bc65d 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -13,7 +13,6 @@
 #define cmExportFileGenerator_h
 
 #include "cmCommand.h"
-#include "cmGeneratorExpression.h"
 
 /** \class cmExportFileGenerator
  * \brief Generate a file exporting targets from a build or install tree.
@@ -92,12 +91,6 @@ protected:
                                    cmMakefile* mf,
                                    cmTarget* depender,
                                    cmTarget* dependee) = 0;
-  void PopulateInterfaceProperty(const char *,
-                                 cmTarget *target,
-                                 cmGeneratorExpression::PreprocessContext,
-                                 ImportPropertyMap &properties);
-  void GenerateInterfaceProperties(cmTarget *target, std::ostream& os,
-                                   const ImportPropertyMap &properties);
 
   // The namespace in which the exports are placed in the generated file.
   std::string Namespace;
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index a988f63..7841731 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -19,7 +19,6 @@
 #include "cmInstallExportGenerator.h"
 #include "cmInstallTargetGenerator.h"
 #include "cmTargetExport.h"
-#include "cmGeneratorExpression.h"
 
 //----------------------------------------------------------------------------
 cmExportInstallFileGenerator
@@ -49,21 +48,6 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
     if(this->ExportedTargets.insert(te->Target).second)
       {
       this->GenerateImportTargetCode(os, te->Target);
-
-      ImportPropertyMap properties;
-
-      if ((*tei)->Target->GetPolicyStatusCMP0019() == cmPolicies::NEW)
-        {
-        if (te->Target->GetType() != cmTarget::STATIC_LIBRARY)
-          {
-          this->PopulateInterfaceProperty("INTERFACE_LINK_LIBRARIES",
-                                      te->Target,
-                                      cmGeneratorExpression::InstallInterface,
-                                      properties);
-          }
-        }
-
-      this->GenerateInterfaceProperties(te->Target, os, properties);
       }
     else
       {
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 2bcced1..32bf941 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -131,9 +131,15 @@ cmCompiledGeneratorExpression::~cmCompiledGeneratorExpression()
     }
 }
 
-//----------------------------------------------------------------------------
-static std::string stripAllGeneratorExpressions(const std::string &input)
+std::string cmGeneratorExpression::Preprocess(const std::string &input,
+                                              PreprocessContext context)
 {
+  if (context != StripAllGeneratorExpressions)
+  {
+    assert(!"cmGeneratorExpression::Preprocess called with invalid args");
+    return std::string();
+  }
+
   std::string result;
   std::string::size_type pos = 0;
   std::string::size_type lastPos = pos;
@@ -172,95 +178,3 @@ static std::string stripAllGeneratorExpressions(const std::string &input)
   result += input.substr(lastPos);
   return result;
 }
-
-//----------------------------------------------------------------------------
-static std::string stripExportInterface(const std::string &input,
-                          cmGeneratorExpression::PreprocessContext context,
-                          const char *ns)
-{
-  std::string result;
-  {
-  std::string::size_type pos = 0;
-  std::string::size_type lastPos = pos;
-  while((pos = input.find("$<BUILD_INTERFACE:", lastPos)) != input.npos
-    || (pos = input.find("$<INSTALL_INTERFACE:", lastPos)) != input.npos)
-    {
-    result += input.substr(lastPos, pos - lastPos);
-    const bool gotInstallInterface = input[pos + 2] == 'I';
-    pos += gotInstallInterface ? sizeof("$<INSTALL_INTERFACE:") - 1
-                               : sizeof("$<BUILD_INTERFACE:") - 1;
-    int nestingLevel = 1;
-    const char *c = input.c_str() + pos;
-    const char * const cStart = c;
-    for ( ; *c; ++c)
-      {
-      if(c[0] == '$' && c[1] == '<')
-        {
-        ++nestingLevel;
-        ++c;
-        continue;
-        }
-      if(c[0] == '>')
-        {
-        --nestingLevel;
-        if (nestingLevel != 0)
-          {
-          continue;
-          }
-        if(context == cmGeneratorExpression::BuildInterface
-            && !gotInstallInterface)
-          {
-          result += input.substr(pos, c - cStart);
-          }
-        else if(context == cmGeneratorExpression::InstallInterface
-            && gotInstallInterface)
-          {
-          result += input.substr(pos, c - cStart);
-          }
-        break;
-        }
-      }
-    const std::string::size_type traversed = (c - cStart) + 1;
-    if (!*c)
-      {
-      result += std::string(gotInstallInterface ? "$<INSTALL_INTERFACE:"
-                                                : "$<BUILD_INTERFACE:")
-             + input.substr(pos, traversed);
-      }
-    pos += traversed;
-    lastPos = pos;
-    }
-  result += input.substr(lastPos);
-  }
-
-  {
-  std::string::size_type pos = 0;
-  std::string::size_type lastPos = pos;
-
-  std::string expNs = ns ? ns : "";
-  while((pos = result.find("$<EXPORT_NAMESPACE>", lastPos)) != input.npos)
-    {
-    result.replace(pos, sizeof("$<EXPORT_NAMESPACE>") - 1, expNs);
-    pos += sizeof("$<EXPORT_NAMESPACE>") - 1;
-    }
-  }
-  return result;
-}
-
-//----------------------------------------------------------------------------
-std::string cmGeneratorExpression::Preprocess(const std::string &input,
-                                              PreprocessContext context,
-                                              const char *ns)
-{
-  if (context == StripAllGeneratorExpressions)
-    {
-    return stripAllGeneratorExpressions(input);
-    }
-  else if (context == BuildInterface || context == InstallInterface)
-  {
-    return stripExportInterface(input, context, ns);
-  }
-
-  assert(!"cmGeneratorExpression::Preprocess called with invalid args");
-  return std::string();
-}
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 5e3352b..ea3e7d0 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -48,14 +48,11 @@ public:
   const cmCompiledGeneratorExpression& Parse(const char* input);
 
   enum PreprocessContext {
-    StripAllGeneratorExpressions,
-    BuildInterface,
-    InstallInterface
+    StripAllGeneratorExpressions
   };
 
   static std::string Preprocess(const std::string &input,
-                                PreprocessContext context,
-                                const char *ns = 0);
+                                PreprocessContext context);
 
 private:
   cmGeneratorExpression(const cmGeneratorExpression &);
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 784596c..102927e 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -96,31 +96,6 @@ static const struct OneNode : public cmGeneratorExpressionNode
 } oneNode;
 
 //----------------------------------------------------------------------------
-static const struct OneNode buildInterfaceNode;
-
-//----------------------------------------------------------------------------
-static const struct ZeroNode installInterfaceNode;
-
-//----------------------------------------------------------------------------
-static const struct NullNode : public cmGeneratorExpressionNode
-{
-  NullNode() {}
-
-  virtual bool GeneratesContent() const { return false; }
-
-  std::string Evaluate(const std::vector<std::string> &,
-                       cmGeneratorExpressionContext *,
-                       const GeneratorExpressionContent *,
-                       cmGeneratorExpressionDAGChecker *) const
-  {
-    return std::string();
-  }
-
-  virtual int NumExpectedParameters() const { return 0; }
-
-} nullNode;
-
-//----------------------------------------------------------------------------
 #define BOOLEAN_OP_NODE(OPNAME, OP, SUCCESS_VALUE, FAILURE_VALUE) \
 static const struct OP ## Node : public cmGeneratorExpressionNode \
 { \
@@ -288,38 +263,6 @@ static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
 } configurationTestNode;
 
 //----------------------------------------------------------------------------
-static const struct DebugTestNode : public cmGeneratorExpressionNode
-{
-  DebugTestNode() {}
-
-  virtual int NumExpectedParameters() const { return 0; }
-
-  std::string Evaluate(const std::vector<std::string> &,
-                       cmGeneratorExpressionContext *context,
-                       const GeneratorExpressionContent *,
-                       cmGeneratorExpressionDAGChecker *) const
-  {
-    if (!context->Config)
-      {
-      return "0";
-      }
-
-    std::vector<std::string> const& debugConfigs =
-                    context->Makefile->GetCMakeInstance()->GetDebugConfigs();
-    std::string configUpper = cmSystemTools::UpperCase(context->Config);
-    for(std::vector<std::string>::const_iterator i = debugConfigs.begin();
-        i != debugConfigs.end(); ++i)
-      {
-      if(*i == configUpper)
-        {
-        return "1";
-        }
-      }
-    return "0";
-  }
-} debugTestNode;
-
-//----------------------------------------------------------------------------
 static const struct TargetPropertyNode : public cmGeneratorExpressionNode
 {
   TargetPropertyNode() {}
@@ -622,8 +565,6 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
     return &configurationNode;
   else if (identifier == "CONFIG")
     return &configurationTestNode;
-  else if (identifier == "CONFIG_DEBUG")
-    return &debugTestNode;
   else if (identifier == "TARGET_FILE")
     return &targetFileNode;
   else if (identifier == "TARGET_LINKER_FILE")
@@ -652,12 +593,6 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
     return &commaNode;
   else if (identifier == "TARGET_PROPERTY")
     return &targetPropertyNode;
-  else if (identifier == "BUILD_INTERFACE")
-    return &buildInterfaceNode;
-  else if (identifier == "INSTALL_INTERFACE")
-    return &installInterfaceNode;
-  else if (identifier == "EXPORT_NAMESPACE")
-    return &nullNode;
   return 0;
 
 }
diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx
index 304904a..6aef502 100644
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@ -491,53 +491,6 @@ cmPolicies::cmPolicies()
     "CMAKE_SHARED_LIBRARY_<Lang>_FLAGS whether it is modified or not and "
     "honor the POSITION_INDEPENDENT_CODE target property.",
     2,8,9,0, cmPolicies::WARN);
-
-    this->DefinePolicy(
-    CMP0019, "CMP0019",
-    "Use INTERFACE_LINK_LIBRARIES instead of LINK_INTERFACE_LIBRARIES.",
-    "A CMake shared library target (or an executable with the "
-    "ENABLE_EXPORTS property) may be given a \"link interface\" "
-    "determining the libraries that must be linked by its dependents.  "
-    "CMake 2.8.10 and lower used the LINK_INTERFACE_LIBRARIES and "
-    "LINK_INTERFACE_LIBRARIES_<CONFIG> target properties "
-    "to determine the link interface.  "
-    "CMake 2.8.11 and higher prefer the single "
-    "INTERFACE_LINK_LIBRARIES target property "
-    "to determine the link interface.  "
-    "The new property supports generator expressions "
-    "to specify configuration-specific link libraries."
-    "\n"
-    "This policy is not considered when loading IMPORTED targets.  "
-    "However, it does affect how the export() and install(EXPORT) "
-    "commands generate imported targets for use in dependent projects.  "
-    "\n"
-    "The OLD behavior for this policy is to ignore the new "
-    "INTERFACE_LINK_LIBRARIES property and use the old "
-    "LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties to determine the "
-    "link interface.  "
-    "Targets named after LINK_PUBLIC in target_link_libraries will "
-    "populate the old properties and the new.  "
-    "The export() and install(EXPORT) commands will generate only the "
-    "IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties on a "
-    "target to be imported into other projects, and not "
-    "INTERFACE_LINK_LIBRARIES.  "
-    "\n"
-    "The NEW behavior for this policy is to ignore the old "
-    "LINK_INTERFACE_LIBRARIES(_<CONFIG>) properties and use the new "
-    "INTERFACE_LINK_LIBRARIES property to determine the link interface.  "
-    "Targets named after LINK_PUBLIC in target_link_libraries will "
-    "populate the new property and not the old.  "
-    "The export() and install(EXPORT) commands will generate the new "
-    "INTERFACE_LINK_LIBRARIES property on a target to be imported "
-    "into other projects.  "
-    "They will generate IMPORTED_LINK_INTERFACE_LIBRARIES(_<CONFIG>) "
-    "properties only if LINK_INTERFACE_LIBRARIES(_<CONFIG>) have been "
-    "set explicitly on the target to be exported."
-    "\n"
-    "The setting for this policy used to determine the link interface is "
-    "that in effect when the target is created by an add_library or "
-    "add_executable command.",
-    2,8,11,0, cmPolicies::WARN);
 }
 
 cmPolicies::~cmPolicies()
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index b6b8e39..6932565 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -68,7 +68,6 @@ public:
     CMP0018, ///< Ignore language flags for shared libs, and adhere to
     /// POSITION_INDEPENDENT_CODE property and *_COMPILE_OPTIONS_PI{E,C}
     /// instead.
-    CMP0019, ///< Use new-style INTERFACE_LINK_LIBRARIES
 
     /** \brief Always the last entry.
      *
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 723e721..be20464 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -21,7 +21,6 @@
 #include "cmDocumentLocationUndefined.h"
 #include "cmListFileCache.h"
 #include "cmGeneratorExpression.h"
-#include "cmGeneratorExpressionDAGChecker.h"
 #include <cmsys/RegularExpression.hxx>
 #include <map>
 #include <set>
@@ -128,7 +127,6 @@ cmTarget::cmTarget()
   this->PolicyStatusCMP0003 = cmPolicies::WARN;
   this->PolicyStatusCMP0004 = cmPolicies::WARN;
   this->PolicyStatusCMP0008 = cmPolicies::WARN;
-  this->PolicyStatusCMP0019 = cmPolicies::WARN;
   this->LinkLibrariesAnalyzed = false;
   this->HaveInstallRule = false;
   this->DLLPlatform = false;
@@ -373,7 +371,7 @@ void cmTarget::DefineProperties(cmake *cm)
      "imported library.  "
      "The list "
      "should be disjoint from the list of interface libraries in the "
-     "INTERFACE_LINK_LIBRARIES property.  On platforms requiring "
+     "IMPORTED_LINK_INTERFACE_LIBRARIES property.  On platforms requiring "
      "dependent shared libraries to be found at link time CMake uses this "
      "list to add appropriate files or paths to the link command line.  "
      "Ignored for non-imported targets.");
@@ -394,9 +392,7 @@ void cmTarget::DefineProperties(cmake *cm)
      "The libraries will be included on the link line for the target.  "
      "Unlike the LINK_INTERFACE_LIBRARIES property, this property applies "
      "to all imported target types, including STATIC libraries.  "
-     "This property is ignored for non-imported targets.\n"
-     "This property is deprecated. Use INTERFACE_LINK_LIBRARIES instead."
-    );
+     "This property is ignored for non-imported targets.");
 
   cm->DefineProperty
     ("IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG>", cmProperty::TARGET,
@@ -404,8 +400,7 @@ void cmTarget::DefineProperties(cmake *cm)
      "Configuration names correspond to those provided by the project "
      "from which the target is imported.  "
      "If set, this property completely overrides the generic property "
-     "for the named configuration."
-     "This property is deprecated. Use INTERFACE_LINK_LIBRARIES instead.");
+     "for the named configuration.");
 
   cm->DefineProperty
     ("IMPORTED_LINK_INTERFACE_LANGUAGES", cmProperty::TARGET,
@@ -705,8 +700,7 @@ void cmTarget::DefineProperties(cmake *cm)
      "This property is initialized by the value of the variable "
      "CMAKE_LINK_INTERFACE_LIBRARIES if it is set when a target is "
      "created.  "
-     "This property is ignored for STATIC libraries."
-     "This property is deprecated. Use INTERFACE_LINK_LIBRARIES instead.");
+     "This property is ignored for STATIC libraries.");
 
   cm->DefineProperty
     ("LINK_INTERFACE_LIBRARIES_<CONFIG>", cmProperty::TARGET,
@@ -714,30 +708,7 @@ void cmTarget::DefineProperties(cmake *cm)
      "This is the configuration-specific version of "
      "LINK_INTERFACE_LIBRARIES.  "
      "If set, this property completely overrides the generic property "
-     "for the named configuration."
-     "This property is deprecated. Use INTERFACE_LINK_LIBRARIES instead.");
-
-  cm->DefineProperty
-    ("INTERFACE_LINK_LIBRARIES", cmProperty::TARGET,
-     "List public interface libraries for a shared library or executable.",
-     "By default linking to a shared library target transitively "
-     "links to targets with which the library itself was linked.  "
-     "For an executable with exports (see the ENABLE_EXPORTS property) "
-     "no default transitive link dependencies are used.  "
-     "This property replaces the default transitive link dependencies with "
-     "an explicit list.  "
-     "When the target is linked into another target the libraries "
-     "listed (and recursively their link interface libraries) will be "
-     "provided to the other target also.  "
-     "If the list is empty then no transitive link dependencies will be "
-     "incorporated when this target is linked into another target even if "
-     "the default set is non-empty.  "
-     "This property is initialized by the value of the variable "
-     "CMAKE_INTERFACE_LINK_LIBRARIES if it is set when a target is "
-     "created.  "
-     "This property is ignored for STATIC libraries."
-     "\n"
-     CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS);
+     "for the named configuration.");
 
   cm->DefineProperty
     ("LINK_INTERFACE_MULTIPLICITY", cmProperty::TARGET,
@@ -1377,10 +1348,6 @@ void cmTarget::SetMakefile(cmMakefile* mf)
   this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", 0);
   this->SetPropertyDefault("LINK_DEPENDS_NO_SHARED", 0);
   this->SetPropertyDefault("LINK_INTERFACE_LIBRARIES", 0);
-  if (this->GetType() != STATIC_LIBRARY)
-    {
-    this->SetPropertyDefault("INTERFACE_LINK_LIBRARIES", 0);
-    }
   this->SetPropertyDefault("WIN32_EXECUTABLE", 0);
   this->SetPropertyDefault("MACOSX_BUNDLE", 0);
 
@@ -1442,8 +1409,6 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     this->Makefile->GetPolicyStatus(cmPolicies::CMP0004);
   this->PolicyStatusCMP0008 =
     this->Makefile->GetPolicyStatus(cmPolicies::CMP0008);
-  this->PolicyStatusCMP0019 =
-    this->Makefile->GetPolicyStatus(cmPolicies::CMP0019);
 }
 
 //----------------------------------------------------------------------------
@@ -2539,29 +2504,6 @@ void cmTarget::MaybeInvalidatePropertyCache(const char* prop)
 }
 
 //----------------------------------------------------------------------------
-static void cmTargetCheckINTERFACE_LINK_LIBRARIES(const char* value,
-                                                  cmMakefile* context)
-{
-  // Look for link-type keywords in the value.
-  static cmsys::RegularExpression
-    keys("(^|;)(debug|optimized|general)(;|$)");
-  if(!keys.find(value))
-    {
-    return;
-    }
-
-  // Report an error.
-  cmOStringStream e;
-
-  e << "Property INTERFACE_LINK_LIBRARIES may not contain link-type "
-    "keyword \"" << keys.match(2) << "\".  The INTERFACE_LINK_LIBRARIES "
-    "property may contain configuration-sensitive generator-expressions "
-    "which may be used to specify per-configuration rules.";
-
-  context->IssueMessage(cmake::FATAL_ERROR, e.str());
-}
-
-//----------------------------------------------------------------------------
 static void cmTargetCheckLINK_INTERFACE_LIBRARIES(
   const char* prop, const char* value, cmMakefile* context, bool imported
   )
@@ -2622,13 +2564,6 @@ void cmTarget::CheckProperty(const char* prop, cmMakefile* context)
       cmTargetCheckLINK_INTERFACE_LIBRARIES(prop, value, context, true);
       }
     }
-  if(strncmp(prop, "INTERFACE_LINK_LIBRARIES", 24) == 0)
-    {
-    if(const char* value = this->GetProperty(prop))
-      {
-      cmTargetCheckINTERFACE_LINK_LIBRARIES(value, context);
-      }
-    }
 }
 
 //----------------------------------------------------------------------------
@@ -4303,28 +4238,6 @@ cmTarget::GetImportInfo(const char* config)
   return &i->second;
 }
 
-
-bool handleCMP0019(const std::vector<std::string> &newLinkLibraries,
-  const std::vector<std::string> &oldLinkLibraries)
-{
-  if (newLinkLibraries.size() != oldLinkLibraries.size())
-    {
-    return false;
-    }
-  for(std::vector<std::string>::const_iterator
-      oll = oldLinkLibraries.begin(), nll = newLinkLibraries.begin();
-      oll != oldLinkLibraries.end() && nll != newLinkLibraries.end();
-      ++oll, ++nll)
-    {
-    if (*oll != *nll)
-      {
-      return false;
-      }
-    }
-  return true;
-}
-
-
 //----------------------------------------------------------------------------
 void cmTarget::ComputeImportInfo(std::string const& desired_config,
                                  ImportInfo& info)
@@ -4527,39 +4440,21 @@ void cmTarget::ComputeImportInfo(std::string const& desired_config,
     }
 
   // Get the link interface.
-  if(const char* newStyleLibsProp =
-     this->GetProperty("INTERFACE_LINK_LIBRARIES"))
-    {
-    cmListFileBacktrace lfbt;
-    cmGeneratorExpression ge(lfbt);
-
-    cmGeneratorExpressionDAGChecker dagChecker(lfbt,
-                                        this->GetName(),
-                                        "INTERFACE_LINK_LIBRARIES", 0, 0);
-    cmSystemTools::ExpandListArgument(ge.Parse(newStyleLibsProp)
-                                        .Evaluate(this->Makefile,
-                                                  desired_config.c_str(),
-                                                  false,
-                                                  this,
-                                                  &dagChecker),
+  {
+  std::string linkProp = "IMPORTED_LINK_INTERFACE_LIBRARIES";
+  linkProp += suffix;
+  if(const char* config_libs = this->GetProperty(linkProp.c_str()))
+    {
+    cmSystemTools::ExpandListArgument(config_libs,
                                       info.LinkInterface.Libraries);
     }
-  else
+  else if(const char* libs =
+          this->GetProperty("IMPORTED_LINK_INTERFACE_LIBRARIES"))
     {
-    std::string linkProp = "IMPORTED_LINK_INTERFACE_LIBRARIES";
-    linkProp += suffix;
-    if(const char* config_libs = this->GetProperty(linkProp.c_str()))
-      {
-      cmSystemTools::ExpandListArgument(config_libs,
-                                        info.LinkInterface.Libraries);
-      }
-    else if(const char* libs =
-            this->GetProperty("IMPORTED_LINK_INTERFACE_LIBRARIES"))
-      {
-      cmSystemTools::ExpandListArgument(libs,
-                                        info.LinkInterface.Libraries);
-      }
+    cmSystemTools::ExpandListArgument(libs,
+                                      info.LinkInterface.Libraries);
     }
+  }
 
   // Get the link dependencies.
   {
@@ -4667,84 +4562,19 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface)
 
   // An explicit list of interface libraries may be set for shared
   // libraries and executables that export symbols.
-  std::vector<std::string>* explicitLibraries = 0;
-  std::vector<std::string> oldInterfaceLibs;
-  std::vector<std::string> newInterfaceLibs;
+  const char* explicitLibraries = 0;
   if(this->GetType() == cmTarget::SHARED_LIBRARY ||
      this->IsExecutableWithExports())
     {
-    std::string oldPropName;
-    const char *oldLibrariesProp = 0;
-    const char *newLibrariesProp = 0;
-    if(this->PolicyStatusCMP0019 == cmPolicies::OLD ||
-       this->PolicyStatusCMP0019 == cmPolicies::WARN)
-      {
-      // Lookup the per-configuration property.
-      std::string propName = "LINK_INTERFACE_LIBRARIES";
-      propName += suffix;
-      oldLibrariesProp = this->GetProperty(propName.c_str());
-
-      // If not set, try the generic property.
-      if(!oldLibrariesProp)
-        {
-        oldLibrariesProp = this->GetProperty("LINK_INTERFACE_LIBRARIES");
-        oldPropName = "LINK_INTERFACE_LIBRARIES";
-        }
-      else
-        {
-        oldPropName = propName;
-        }
-      if(oldLibrariesProp)
-        {
-        cmSystemTools::ExpandListArgument(oldLibrariesProp, oldInterfaceLibs);
-        }
-      }
-    if(this->PolicyStatusCMP0019 != cmPolicies::OLD)
-      {
-      newLibrariesProp = this->GetProperty("INTERFACE_LINK_LIBRARIES");
-      if(newLibrariesProp)
-        {
-        cmListFileBacktrace lfbt;
-        cmGeneratorExpression ge(lfbt);
-        cmGeneratorExpressionDAGChecker dagChecker(
-          lfbt, this->GetName(), "INTERFACE_LINK_LIBRARIES", 0, 0);
-        cmSystemTools::ExpandListArgument(ge.Parse(newLibrariesProp).Evaluate(
-                                            this->Makefile,
-                                            config,
-                                            false,
-                                            this,
-                                            &dagChecker), newInterfaceLibs);
-        }
-      }
+    // Lookup the per-configuration property.
+    std::string propName = "LINK_INTERFACE_LIBRARIES";
+    propName += suffix;
+    explicitLibraries = this->GetProperty(propName.c_str());
 
-    switch (this->PolicyStatusCMP0019)
+    // If not set, try the generic property.
+    if(!explicitLibraries)
       {
-      case cmPolicies::WARN:
-        {
-        if (newLibrariesProp && oldLibrariesProp
-            && !handleCMP0019(newInterfaceLibs, oldInterfaceLibs))
-          {
-          cmOStringStream e;
-          e << "The INTERFACE_LINK_LIBRARIES and " << oldPropName << " are "
-               "not the same for target \"" << this->GetName() << "\".\n"
-               "NEW content is \""
-            << (newLibrariesProp ? newLibrariesProp : "(unset)") << "\"\n"
-               "OLD content is \""
-            << (oldLibrariesProp ? oldLibrariesProp : "(unset)") << "\"\n"
-            << this->Makefile->GetPolicies()->GetPolicyWarning(
-                                                      cmPolicies::CMP0019);
-          this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, e.str());
-          }
-          // fall through to OLD behaviour
-        }
-        case cmPolicies::OLD:
-          explicitLibraries = oldLibrariesProp ? &oldInterfaceLibs : 0;
-          break;
-        case cmPolicies::REQUIRED_IF_USED:
-        case cmPolicies::REQUIRED_ALWAYS:
-        case cmPolicies::NEW:
-        default:
-          explicitLibraries = newLibrariesProp ? &newInterfaceLibs : 0;
+      explicitLibraries = this->GetProperty("LINK_INTERFACE_LIBRARIES");
       }
     }
 
@@ -4762,7 +4592,7 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface)
   if(explicitLibraries)
     {
     // The interface libraries have been explicitly set.
-    iface.Libraries = *explicitLibraries;
+    cmSystemTools::ExpandListArgument(explicitLibraries, iface.Libraries);
 
     if(this->GetType() == cmTarget::SHARED_LIBRARY)
       {
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 7c55933..9efd638 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -99,10 +99,6 @@ public:
   cmPolicies::PolicyStatus GetPolicyStatusCMP0008() const
     { return this->PolicyStatusCMP0008; }
 
-  /** Get the status of policy CMP0019 when the target was created.  */
-  cmPolicies::PolicyStatus GetPolicyStatusCMP0019() const
-    { return this->PolicyStatusCMP0019; }
-
   /**
    * Get the list of the custom commands for this target
    */
@@ -622,7 +618,6 @@ private:
   cmPolicies::PolicyStatus PolicyStatusCMP0003;
   cmPolicies::PolicyStatus PolicyStatusCMP0004;
   cmPolicies::PolicyStatus PolicyStatusCMP0008;
-  cmPolicies::PolicyStatus PolicyStatusCMP0019;
 
   // Internal representation details.
   friend class cmTargetInternals;
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index 68565db..f42b0f6 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -232,14 +232,7 @@ bool cmTargetLinkLibrariesCommand
     {
     this->Target->SetProperty("LINK_INTERFACE_LIBRARIES", "");
     }
-  if(this->CurrentProcessingState != ProcessingLinkLibraries &&
-     !this->Target->GetProperty("INTERFACE_LINK_LIBRARIES"))
-    {
-    if (this->Target->GetType() != cmTarget::STATIC_LIBRARY)
-      {
-      this->Target->SetProperty("INTERFACE_LINK_LIBRARIES", "");
-      }
-    }
+
   return true;
 }
 
@@ -257,25 +250,6 @@ cmTargetLinkLibrariesCommand
 }
 
 //----------------------------------------------------------------------------
-static std::string generatorIface(const std::string &value,
-                                  cmTarget::LinkLibraryType llt)
-{
-  if (llt == cmTarget::DEBUG)
-    {
-    return "$<$<CONFIG_DEBUG>:"
-                     + value
-                     + ">";
-    }
-  else if (llt == cmTarget::OPTIMIZED)
-    {
-    return "$<$<NOT:$<CONFIG_DEBUG>>:"
-                     + value
-                     + ">";
-    }
-  return value;
-}
-
-//----------------------------------------------------------------------------
 void
 cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
                                             cmTarget::LinkLibraryType llt)
@@ -292,12 +266,6 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
       }
     }
 
-  if (this->Target->GetType() != cmTarget::STATIC_LIBRARY)
-    {
-    this->Target->AppendProperty("INTERFACE_LINK_LIBRARIES",
-                                 generatorIface(lib, llt).c_str());
-    }
-
   // Get the list of configurations considered to be DEBUG.
   std::vector<std::string> const& debugConfigs =
     this->Makefile->GetCMakeInstance()->GetDebugConfigs();
diff --git a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
index 95cfd15..1faa888 100644
--- a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
@@ -56,21 +56,3 @@ assert_property(targetA LINK_INTERFACE_LIBRARIES "")
 target_link_libraries(targetA depB depC)
 
 assert_property(targetA LINK_INTERFACE_LIBRARIES "")
-
-# cmake_policy(PUSH)
-
-cmake_policy(SET CMP0019 NEW)
-
-add_library(depD SHARED depD.cpp)
-generate_export_header(depD)
-set_property(TARGET depD APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<1:depA>)
-
-add_library(depE SHARED depE.cpp)
-generate_export_header(depE)
-target_link_libraries(depE LINK_PRIVATE depB)
-target_link_libraries(depE LINK_INTERFACE_LIBRARIES $<1:depB>)
-
-add_executable(targetB targetB.cpp)
-target_link_libraries(targetB depD depE)
-
-# cmake_policy(POP)
diff --git a/Tests/CMakeCommands/target_link_libraries/depD.cpp b/Tests/CMakeCommands/target_link_libraries/depD.cpp
deleted file mode 100644
index b02c76c..0000000
--- a/Tests/CMakeCommands/target_link_libraries/depD.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#include "depD.h"
-
-int DepD::foo()
-{
-  return 0;
-}
-
-DepA DepD::getA()
-{
-  DepA a;
-  return a;
-}
diff --git a/Tests/CMakeCommands/target_link_libraries/depD.h b/Tests/CMakeCommands/target_link_libraries/depD.h
deleted file mode 100644
index d24ff5f..0000000
--- a/Tests/CMakeCommands/target_link_libraries/depD.h
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#include "depd_export.h"
-
-#include "depA.h"
-
-struct DEPD_EXPORT DepD
-{
-  int foo();
-
-  DepA getA();
-};
diff --git a/Tests/CMakeCommands/target_link_libraries/depE.cpp b/Tests/CMakeCommands/target_link_libraries/depE.cpp
deleted file mode 100644
index 1a3da4a..0000000
--- a/Tests/CMakeCommands/target_link_libraries/depE.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#include "depE.h"
-
-int DepE::foo()
-{
-  return 0;
-}
-
-DepB DepE::getB()
-{
-  DepB a;
-  return a;
-}
diff --git a/Tests/CMakeCommands/target_link_libraries/depE.h b/Tests/CMakeCommands/target_link_libraries/depE.h
deleted file mode 100644
index 2273e17..0000000
--- a/Tests/CMakeCommands/target_link_libraries/depE.h
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#include "depe_export.h"
-
-#include "depB.h"
-
-struct DEPE_EXPORT DepE
-{
-  int foo();
-
-  DepB getB();
-};
diff --git a/Tests/CMakeCommands/target_link_libraries/targetB.cpp b/Tests/CMakeCommands/target_link_libraries/targetB.cpp
deleted file mode 100644
index c6a1264..0000000
--- a/Tests/CMakeCommands/target_link_libraries/targetB.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#include "depD.h"
-#include "depE.h"
-
-int main(int argc, char **argv)
-{
-  DepD d;
-  DepA a = d.getA();
-
-  DepE e;
-  DepB b = e.getB();
-
-  return d.foo() + a.foo() + e.foo() + b.foo();
-}
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index c2dd55a..3a92d81 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required (VERSION 2.8.8)
 project(GeneratorExpression NONE)
 
-add_custom_target(check-part1 ALL
+add_custom_target(check ALL
   COMMAND ${CMAKE_COMMAND}
     -Dtest_0=$<0:nothing>
     -Dtest_0_with_comma=$<0:-Wl,--no-undefined>
@@ -23,7 +23,6 @@ add_custom_target(check-part1 ALL
     -Dtest_config_release=$<CONFIG:Release>$<CONFIG:RELEASE>$<CONFIG:ReLeAsE>
     -Dtest_config_relwithdebinfo=$<CONFIG:RelWithDebInfo>$<CONFIG:RELWITHDEBINFO>$<CONFIG:relwithdebinfo>
     -Dtest_config_minsizerel=$<CONFIG:MinSizeRel>$<CONFIG:MINSIZEREL>$<CONFIG:minsizerel>
-    -Dtest_config_is_debug=$<CONFIG:Debug>$<CONFIG_DEBUG>
     -Dtest_not_0=$<NOT:0>
     -Dtest_not_1=$<NOT:1>
     -Dtest_or_0=$<OR:0>
@@ -58,13 +57,6 @@ add_custom_target(check-part1 ALL
     -Dtest_colons_3=$<1:Qt5::Core>
     -Dtest_colons_4=$<1:C:\\CMake>
     -Dtest_colons_5=$<1:C:/CMake>
-    -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part1.cmake
-  COMMAND ${CMAKE_COMMAND} -E echo "check done (part 1 of 2)"
-  VERBATIM
-  )
-
-add_custom_target(check-part2 ALL
-  COMMAND ${CMAKE_COMMAND}
     -Dtest_incomplete_1=$<
     -Dtest_incomplete_2=$<something
     -Dtest_incomplete_3=$<something:
@@ -86,10 +78,7 @@ add_custom_target(check-part2 ALL
     -Dtest_incomplete_19=$<1:some,thing$<ANGLE-R>
     -Dtest_incomplete_20=$<CONFIGURATION$<ANGLE-R>
     -Dtest_incomplete_21=$<BOOL:something$<ANGLE-R>
-    -Dtest_build_interface=$<BUILD_INTERFACE:build>
-    -Dtest_install_interface=$<INSTALL_INTERFACE:install>
-    -Dtest_export_namespace=$<EXPORT_NAMESPACE>x
-    -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part2.cmake
-  COMMAND ${CMAKE_COMMAND} -E echo "check done (part 2 of 2)"
+    -P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
+  COMMAND ${CMAKE_COMMAND} -E echo "check done"
   VERBATIM
   )
diff --git a/Tests/GeneratorExpression/check-common.cmake b/Tests/GeneratorExpression/check-common.cmake
deleted file mode 100644
index 8ffebd7..0000000
--- a/Tests/GeneratorExpression/check-common.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-macro(check var val)
-  if(NOT "${${var}}" STREQUAL "${val}")
-    message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
-  endif()
-endmacro()
diff --git a/Tests/GeneratorExpression/check-part2.cmake b/Tests/GeneratorExpression/check-part2.cmake
deleted file mode 100644
index 4201345..0000000
--- a/Tests/GeneratorExpression/check-part2.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-
-include(${CMAKE_CURRENT_LIST_DIR}/check-common.cmake)
-
-check(test_incomplete_1 "$<")
-check(test_incomplete_2 "$<something")
-check(test_incomplete_3 "$<something:")
-check(test_incomplete_4 "$<something:,")
-check(test_incomplete_5 "$something:,>")
-check(test_incomplete_6 "<something:,>")
-check(test_incomplete_7 "$<something::")
-check(test_incomplete_8 "$<something:,")
-check(test_incomplete_9 "$<something:,,")
-check(test_incomplete_10 "$<something:,:")
-check(test_incomplete_11 "$<something,,")
-check(test_incomplete_12 "$<,,")
-check(test_incomplete_13 "$<somespecialthing")
-check(test_incomplete_14 "$<>")
-check(test_incomplete_15 "$<some$<thing")
-check(test_incomplete_16 "$<BOOL:something")
-check(test_incomplete_17 "some$thing")
-check(test_incomplete_18 "$<1:some,thing")
-check(test_incomplete_19 "$<1:some,thing>")
-check(test_incomplete_20 "$<CONFIGURATION>")
-check(test_incomplete_21 "$<BOOL:something>")
-check(test_build_interface "build")
-check(test_install_interface "")
-check(test_export_namespace "x")
diff --git a/Tests/GeneratorExpression/check-part1.cmake b/Tests/GeneratorExpression/check.cmake
similarity index 60%
rename from Tests/GeneratorExpression/check-part1.cmake
rename to Tests/GeneratorExpression/check.cmake
index 39f441f..af436de 100644
--- a/Tests/GeneratorExpression/check-part1.cmake
+++ b/Tests/GeneratorExpression/check.cmake
@@ -1,5 +1,8 @@
-
-include(${CMAKE_CURRENT_LIST_DIR}/check-common.cmake)
+macro(check var val)
+  if(NOT "${${var}}" STREQUAL "${val}")
+    message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
+  endif()
+endmacro()
 
 message(STATUS "config=[${config}]")
 check(test_0 "")
@@ -20,9 +23,6 @@ foreach(c debug release relwithdebinfo minsizerel)
     message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
   endif()
 endforeach()
-if(NOT "${test_config_is_debug}" MATCHES "^(0+|1+)$")
-  message(SEND_ERROR "test_config_is_debug is \"${test_config_is_debug}\", not both 0 or both 1")
-endif()
 check(test_not_0 "1")
 check(test_not_1 "0")
 check(test_or_0 "0")
@@ -57,3 +57,24 @@ check(test_colons_2 "::")
 check(test_colons_3 "Qt5::Core")
 check(test_colons_4 "C:\\\\CMake")
 check(test_colons_5 "C:/CMake")
+check(test_incomplete_1 "$<")
+check(test_incomplete_2 "$<something")
+check(test_incomplete_3 "$<something:")
+check(test_incomplete_4 "$<something:,")
+check(test_incomplete_5 "$something:,>")
+check(test_incomplete_6 "<something:,>")
+check(test_incomplete_7 "$<something::")
+check(test_incomplete_8 "$<something:,")
+check(test_incomplete_9 "$<something:,,")
+check(test_incomplete_10 "$<something:,:")
+check(test_incomplete_11 "$<something,,")
+check(test_incomplete_12 "$<,,")
+check(test_incomplete_13 "$<somespecialthing")
+check(test_incomplete_14 "$<>")
+check(test_incomplete_15 "$<some$<thing")
+check(test_incomplete_16 "$<BOOL:something")
+check(test_incomplete_17 "some$thing")
+check(test_incomplete_18 "$<1:some,thing")
+check(test_incomplete_19 "$<1:some,thing>")
+check(test_incomplete_20 "$<CONFIGURATION>")
+check(test_incomplete_21 "$<BOOL:something>")

-----------------------------------------------------------------------

Summary of changes:
 Source/cmDocumentGeneratorExpressions.h            |   11 -
 Source/cmDocumentVariables.cxx                     |    8 -
 Source/cmExportBuildFileGenerator.cxx              |   15 --
 Source/cmExportFileGenerator.cxx                   |   44 ----
 Source/cmExportFileGenerator.h                     |    7 -
 Source/cmExportInstallFileGenerator.cxx            |   16 --
 Source/cmGeneratorExpression.cxx                   |  102 +---------
 Source/cmGeneratorExpression.h                     |    7 +-
 Source/cmGeneratorExpressionEvaluator.cxx          |   65 ------
 Source/cmPolicies.cxx                              |   47 ----
 Source/cmPolicies.h                                |    2 +-
 Source/cmTarget.cxx                                |  220 +++-----------------
 Source/cmTarget.h                                  |    5 -
 Source/cmTargetLinkLibrariesCommand.cxx            |   34 +---
 .../target_link_libraries/CMakeLists.txt           |   18 --
 Tests/CMakeCommands/target_link_libraries/depD.cpp |   13 --
 Tests/CMakeCommands/target_link_libraries/depD.h   |   11 -
 Tests/CMakeCommands/target_link_libraries/depE.cpp |   13 --
 Tests/CMakeCommands/target_link_libraries/depE.h   |   11 -
 .../target_link_libraries/targetB.cpp              |   14 --
 Tests/GeneratorExpression/CMakeLists.txt           |   17 +--
 Tests/GeneratorExpression/check-common.cmake       |    5 -
 Tests/GeneratorExpression/check-part2.cmake        |   27 ---
 .../{check-part1.cmake => check.cmake}             |   31 +++-
 24 files changed, 66 insertions(+), 677 deletions(-)
 delete mode 100644 Tests/CMakeCommands/target_link_libraries/depD.cpp
 delete mode 100644 Tests/CMakeCommands/target_link_libraries/depD.h
 delete mode 100644 Tests/CMakeCommands/target_link_libraries/depE.cpp
 delete mode 100644 Tests/CMakeCommands/target_link_libraries/depE.h
 delete mode 100644 Tests/CMakeCommands/target_link_libraries/targetB.cpp
 delete mode 100644 Tests/GeneratorExpression/check-common.cmake
 delete mode 100644 Tests/GeneratorExpression/check-part2.cmake
 rename Tests/GeneratorExpression/{check-part1.cmake => check.cmake} (60%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list