[cmake-developers] [PATCH for bug 15253] Ninja: Pass only the flags relevant to the language.

Brad King brad.king at kitware.com
Wed Jan 28 08:47:01 EST 2015


On 01/28/2015 07:31 AM, Brian Smith wrote:
> This patch is an attempt to fix
> http://www.cmake.org/Bug/view.php?id=15253. As noted in the bug, this
> affects the Chromium BoringSSL build.

Thanks for working on this.

> -  std::string flags = "$FLAGS";
> +  std::string flags;
> +  
> +  if (lang == "C" || lang == "CXX" || lang == "RC")
> +    {
> +    flags += "$FLAGS";
> +    }

Why is this hunk needed?  The $FLAGS placeholder should be
okay for any language because the corresponding build rules
should be generated with the proper FLAGS value.

>      else
>        {
>        deptype = "msvc";
>        depfile = "";
> -      flags += " /showIncludes";
> +      if (lang == "C" || lang == "CXX")
> +        {
> +        flags += " /showIncludes";
> +        }
>        }

Without /showIncludes the "msvc" deptype does not make sense.
Should some other code path be used here to get dependencies?

Thanks,
-Brad



More information about the cmake-developers mailing list