瀏覽代碼

Ninja: Always add OBJECT_DIR variable to link rules

The <OBJECT_DIR> placeholder is always available in Makefile
generators so make it available from the Ninja generator too.
Brad King 10 年之前
父節點
當前提交
d488b5c976
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      Source/cmNinjaNormalTargetGenerator.cxx

+ 4 - 3
Source/cmNinjaNormalTargetGenerator.cxx

@@ -579,11 +579,12 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
     vars["TARGET_PDB"] = base + suffix + dbg_suffix;
     }
 
+  const std::string objPath = GetTarget()->GetSupportDirectory();
+  vars["OBJECT_DIR"] = ConvertToNinjaPath(objPath);
+  EnsureDirectoryExists(objPath);
+
   if (this->GetGlobalGenerator()->IsGCCOnWindows())
     {
-    const std::string objPath = GetTarget()->GetSupportDirectory();
-    vars["OBJECT_DIR"] = ConvertToNinjaPath(objPath);
-    EnsureDirectoryExists(objPath);
     // ar.exe can't handle backslashes in rsp files (implicitly used by gcc)
     std::string& linkLibraries = vars["LINK_LIBRARIES"];
     std::replace(linkLibraries.begin(), linkLibraries.end(), '\\', '/');