Procházet zdrojové kódy

cmGlobalVisualStudioGenerator: remove TargetCanBeReferenced()

Michael Stürmer před 7 roky
rodič
revize
663f5120f4

+ 0 - 13
Source/cmGlobalVisualStudioGenerator.cxx

@@ -734,19 +734,6 @@ bool cmGlobalVisualStudioGenerator::TargetIsFortranOnly(
   return false;
 }
 
-bool cmGlobalVisualStudioGenerator::TargetCanBeReferenced(
-  cmGeneratorTarget const* gt)
-{
-  if (gt->GetManagedType("") != cmGeneratorTarget::ManagedType::Native) {
-    return true;
-  }
-  if (gt->GetType() != cmStateEnums::SHARED_LIBRARY &&
-      gt->GetType() != cmStateEnums::EXECUTABLE) {
-    return false;
-  }
-  return true;
-}
-
 bool cmGlobalVisualStudioGenerator::TargetCompare::operator()(
   cmGeneratorTarget const* l, cmGeneratorTarget const* r) const
 {

+ 0 - 3
Source/cmGlobalVisualStudioGenerator.h

@@ -81,9 +81,6 @@ public:
   // return true if target is fortran only
   bool TargetIsFortranOnly(const cmGeneratorTarget* gt);
 
-  // return true if target can be referenced by C# targets
-  bool TargetCanBeReferenced(cmGeneratorTarget const* gt);
-
   /** Get the top-level registry key for this VS version.  */
   std::string GetRegistryBase();
 

+ 4 - 1
Source/cmVisualStudio10TargetGenerator.cxx

@@ -3773,7 +3773,10 @@ void cmVisualStudio10TargetGenerator::WriteProjectReferences()
                     "{" + this->GlobalGenerator->GetGUID(name) + "}", 3);
     this->WriteElem("Name", name, 3);
     this->WriteDotNetReferenceCustomTags(name);
-    if (!this->GlobalGenerator->TargetCanBeReferenced(dt)) {
+    // If the target is not compiled with any /clr flag, there is
+    // no assembly to reference.
+    if (this->Managed &&
+        dt->GetManagedType("") < cmGeneratorTarget::ManagedType::Mixed) {
       this->WriteElem("ReferenceOutputAssembly", "false", 3);
     }
     this->WriteString("</ProjectReference>\n", 2);