################################
# Common Flags
################################
# Warning level
common:windows --repo_env="BAZEL_COPTS=/W3:/WX"

# C++ options
common:windows --repo_env="BAZEL_CXXOPTS=/EHsc:/FS:/Zc%:inline:/wd4244:/wd4267:/wd4146:/wd4996:/Zc%:throwingNew:/D_CRT_SECURE_NO_WARNINGS:/std%:c++23preview:/permissive-:/utf-8:/bigobj:/Zc%:__cplusplus:/Zc%:preprocessor:/wd5105"

# Remove "/D_WIN32_WINNT=0x0601"
common:windows --repo_env="BAZEL_WIN32_WINNT="

# C Only
common:windows --repo_env="BAZEL_CONLYOPTS=/FS:/Zc%:inline:/D_CRT_SECURE_NO_WARNINGS"

################################
# Standard Windows Flags
################################
build:windows --repo_env="BAZEL_LINKOPTS=/DEPENDENTLOADFLAG%:0x1100"

################################
# ARM Windows Flags
################################
build:windows_arm --platforms="@allwpilib//shared/bazel:windows_arm64" --platform_suffix=winarm64

# Ignore duplicate inline statement in tools
build:windows --host_copt=/wd4141
# Ignore utf8 warning in tools
build:windows --host_copt=/wd4715

# Disable the C++17 feature in the windows compiler
build:windows --features=-default_cpp_std --host_features=-default_cpp_std
build:windows --host_platform=//shared/bazel:windows_host
