GN/Win: flesh out compiler flags.
This should turn on the basics: optimization, debug symbols, disabled RTTI.
Release builds compile monobench, and cl.exe isn't happy with 1.0/0.0 there, so I swapped that into infinity().
Also, gn format I skipped last time.
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3252
Change-Id: I8718d583e3fba4496b789eb25971462b972a5425
Reviewed-on: https://skia-review.googlesource.com/3252
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 2ced468..b09e184 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -55,10 +55,12 @@
]
include_dirs = [
"$windk/VC/include",
+
# For local builds.
"$windk/../Windows Kits/10/Include/10.0.10150.0/ucrt",
"$windk/../Windows Kits/8.1/Include/shared",
"$windk/../Windows Kits/8.1/Include/um",
+
# For builds using win_toolchain asset.
"$windk/win_sdk/Include/10.0.10586.0/shared",
"$windk/win_sdk/Include/10.0.10586.0/ucrt",
@@ -66,9 +68,11 @@
]
lib_dirs = [
"$windk/VC/lib/amd64",
+
# For local builds.
"$windk/../Windows Kits/10/Lib/10.0.10150.0/ucrt/x64",
"$windk/../Windows Kits/8.1/Lib/winv6.3/um/x64",
+
# For builds using win_toolchain asset.
"$windk/win_sdk/Lib/10.0.10586.0/ucrt/x64",
"$windk/win_sdk/Lib/10.0.10586.0/um/x64",
@@ -276,21 +280,27 @@
# to Android devices. -gline-tables-only is a lot slimmer.
if (is_android) {
cflags = [ "-gline-tables-only" ]
- } else if (!is_win) {
+ } else if (is_win) {
+ cflags = [ "/Zi" ]
+ } else {
cflags = [ "-g" ]
}
}
config("no_rtti") {
if (sanitize != "ASAN") { # -fsanitize=vptr requires RTTI
- if (!is_win) {
+ if (is_win) {
+ cflags_cc = [ "/GR-" ]
+ } else {
cflags_cc = [ "-fno-rtti" ]
}
}
}
config("release") {
- if (!is_win) {
+ if (is_win) {
+ cflags = [ "/O2" ]
+ } else {
cflags = [ "-O3" ]
}
defines = [ "NDEBUG" ]