Ver código fonte

Swift: fix static library handling

Handle static libraries similar to shared libraries.  Do not pass along
the shared library flags raw as that will pass flags for the linker to
the driver which is incorrect.
Saleem Abdulrasool 6 anos atrás
pai
commit
59f2aa63e4
1 arquivos alterados com 7 adições e 5 exclusões
  1. 7 5
      Source/cmLocalGenerator.cxx

+ 7 - 5
Source/cmLocalGenerator.cxx

@@ -1134,11 +1134,13 @@ void cmLocalGenerator::GetStaticLibraryFlags(std::string& flags,
                                              std::string const& linkLanguage,
                                              cmGeneratorTarget* target)
 {
-  this->AppendFlags(
-    flags, this->Makefile->GetSafeDefinition("CMAKE_STATIC_LINKER_FLAGS"));
-  if (!config.empty()) {
-    std::string name = "CMAKE_STATIC_LINKER_FLAGS_" + config;
-    this->AppendFlags(flags, this->Makefile->GetSafeDefinition(name));
+  if (linkLanguage != "Swift") {
+    this->AppendFlags(
+      flags, this->Makefile->GetSafeDefinition("CMAKE_STATIC_LINKER_FLAGS"));
+    if (!config.empty()) {
+      std::string name = "CMAKE_STATIC_LINKER_FLAGS_" + config;
+      this->AppendFlags(flags, this->Makefile->GetSafeDefinition(name));
+    }
   }
   this->AppendFlags(flags, target->GetProperty("STATIC_LIBRARY_FLAGS"));
   if (!config.empty()) {