فهرست منبع

Revert "Add the TARGET_DEFINED generator expression"

This reverts commit 2bee6f5ba5b3f33817cc00e056a7df60d05c9399.

This expression is not used, and has a semantic which is not completely
optimal (namely considering utility targets to be targets, though
usually we are interested in linkable targets).

Remove it so that we have more freedom to define better expressions in
the future.

Conflicts:
        Source/cmGeneratorExpressionEvaluator.cxx
        Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
        Tests/CMakeCommands/target_compile_definitions/consumer.cpp
Stephen Kelly 12 سال پیش
والد
کامیت
cbf07569ed

+ 0 - 1
Source/cmDocumentGeneratorExpressions.h

@@ -37,7 +37,6 @@
   "target in the same buildsystem. Expands to the empty string "        \
   "otherwise.\n"                                                        \
   "  $<TARGET_FILE:tgt>        = main file (.exe, .so.1.2, .a)\n"       \
-  "  $<TARGET_DEFINED:tgt>     = '1' if tgt is a target, else '0'\n"    \
   "  $<TARGET_LINKER_FILE:tgt> = file used to link (.a, .lib, .so)\n"   \
   "  $<TARGET_SONAME_FILE:tgt> = file with soname (.so.3)\n"            \
   "where \"tgt\" is the name of a target.  "                            \

+ 0 - 18
Source/cmGeneratorExpressionEvaluator.cxx

@@ -291,22 +291,6 @@ static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
 } configurationTestNode;
 
 
-static const struct TargetDefinedNode : public cmGeneratorExpressionNode
-{
-  TargetDefinedNode() {}
-
-  virtual int NumExpectedParameters() const { return 1; }
-
-  std::string Evaluate(const std::vector<std::string> &parameters,
-                       cmGeneratorExpressionContext *context,
-                       const GeneratorExpressionContent *,
-                       cmGeneratorExpressionDAGChecker *) const
-  {
-    return context->Makefile->FindTargetToUse(parameters.front().c_str())
-      ? "1" : "0";
-  }
-} targetDefinedNode;
-
 //----------------------------------------------------------------------------
 static const char* targetPropertyTransitiveWhitelist[] = {
     "INTERFACE_INCLUDE_DIRECTORIES"
@@ -942,8 +926,6 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
     return &buildInterfaceNode;
   else if (identifier == "INSTALL_INTERFACE")
     return &installInterfaceNode;
-  else if (identifier == "TARGET_DEFINED")
-    return &targetDefinedNode;
   else if (identifier == "INSTALL_PREFIX")
     return &installPrefixNode;
   return 0;

+ 0 - 2
Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt

@@ -18,7 +18,5 @@ add_executable(consumer
 
 target_compile_definitions(consumer
   PRIVATE $<TARGET_PROPERTY:target_compile_definitions,INTERFACE_COMPILE_DEFINITIONS>
-  $<$<TARGET_DEFINED:notdefined>:SHOULD_NOT_BE_DEFINED>
-  $<$<TARGET_DEFINED:target_compile_definitions>:SHOULD_BE_DEFINED>
   -DDASH_D_DEFINE
 )

+ 0 - 8
Tests/CMakeCommands/target_compile_definitions/consumer.cpp

@@ -11,14 +11,6 @@
 #error Expected MY_INTERFACE_DEFINE
 #endif
 
-#ifdef SHOULD_NOT_BE_DEFINED
-#error Unexpected SHOULD_NOT_BE_DEFINED
-#endif
-
-#ifndef SHOULD_BE_DEFINED
-#error Expected SHOULD_BE_DEFINED
-#endif
-
 #ifndef DASH_D_DEFINE
 #error Expected DASH_D_DEFINE
 #endif