Improve mingw support.

- Remove existing mingw-w64 toolchain file.
- Add x86 and x86_64 mingw-w64 toolchain files.
- Add gtest mingw work around (disable gtest cmake and build
  our own static lib).

Change-Id: Ic602df62f5485ccbd79deccf3aed2a4d35fef8ad
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8724afb..05da869 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -370,7 +370,12 @@
   # This directory is where libwebm will build googletest dependencies.
   set(GTEST_BUILD_DIR "${CMAKE_BINARY_DIR}/googletest_build")
 
-  add_subdirectory("${GTEST_SRC_DIR}" "${GTEST_BUILD_DIR}")
+  if (LIBWEBM_DISABLE_GTEST_CMAKE)
+    add_library(gtest STATIC "${GTEST_SRC_DIR}/googletest/src/gtest-all.cc")
+    include_directories("${GTEST_SRC_DIR}/googletest")
+  else ()
+    add_subdirectory("${GTEST_SRC_DIR}" "${GTEST_BUILD_DIR}")
+  endif ()
   include_directories("${GTEST_SRC_DIR}/googletest/include")
 
   add_executable(mkvmuxer_tests ${mkvmuxer_tests_sources})
diff --git a/build/mingw-w64_toolchain.cmake b/build/mingw-w64_toolchain.cmake
deleted file mode 100644
index d3baf33..0000000
--- a/build/mingw-w64_toolchain.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-##  Copyright (c) 2016 The WebM project authors. All Rights Reserved.
-##
-##  Use of this source code is governed by a BSD-style license
-##  that can be found in the LICENSE file in the root of the source
-##  tree. An additional intellectual property rights grant can be found
-##  in the file PATENTS.  All contributing project authors may
-##  be found in the AUTHORS file in the root of the source tree.
-
-set(MINGW_PREFIX "i686-w64-mingw32" CACHE STRING "MinGW cross compiler")
-
-# Target OS name.
-set(CMAKE_SYSTEM_NAME Windows)
-
-# Cross compiler values.
-set(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
-set(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
-set(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
-
-# Tell CMake not to look too hard for things; we want the target toolchain
-# defaults.
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/build/x86-mingw-gcc.cmake b/build/x86-mingw-gcc.cmake
new file mode 100644
index 0000000..8416eaf
--- /dev/null
+++ b/build/x86-mingw-gcc.cmake
@@ -0,0 +1,26 @@
+##  Copyright (c) 2017 The WebM project authors. All Rights Reserved.
+##
+##  Use of this source code is governed by a BSD-style license
+##  that can be found in the LICENSE file in the root of the source
+##  tree. An additional intellectual property rights grant can be found
+##  in the file PATENTS.  All contributing project authors may
+##  be found in the AUTHORS file in the root of the source tree.
+if (NOT LIBWEBM_BUILD_X86_MINGW_GCC_CMAKE_)
+set(LIBWEBM_BUILD_X86_MINGW_GCC_CMAKE_ 1)
+
+set(CMAKE_SYSTEM_PROCESSOR "x86")
+set(CMAKE_SYSTEM_NAME "Windows")
+set(CMAKE_C_COMPILER_ARG1 "-m32")
+set(CMAKE_CXX_COMPILER_ARG1 "-m32")
+
+if ("${CROSS}" STREQUAL "")
+  set(CROSS i686-w64-mingw32-)
+endif ()
+
+set(CMAKE_C_COMPILER ${CROSS}gcc)
+set(CMAKE_CXX_COMPILER ${CROSS}g++)
+
+# Disable googletest CMake usage for mingw cross compiles.
+set(LIBWEBM_DISABLE_GTEST_CMAKE 1)
+
+endif ()  # LIBWEBM_BUILD_X86_MINGW_GCC_CMAKE_
diff --git a/build/x86_64-mingw-gcc.cmake b/build/x86_64-mingw-gcc.cmake
new file mode 100644
index 0000000..9db28b7
--- /dev/null
+++ b/build/x86_64-mingw-gcc.cmake
@@ -0,0 +1,24 @@
+##  Copyright (c) 2017 The WebM project authors. All Rights Reserved.
+##
+##  Use of this source code is governed by a BSD-style license
+##  that can be found in the LICENSE file in the root of the source
+##  tree. An additional intellectual property rights grant can be found
+##  in the file PATENTS.  All contributing project authors may
+##  be found in the AUTHORS file in the root of the source tree.
+if (NOT LIBWEBM_BUILD_X86_64_MINGW_GCC_CMAKE_)
+set(LIBWEBM_BUILD_X86_64_MINGW_GCC_CMAKE_ 1)
+
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+set(CMAKE_SYSTEM_NAME "Windows")
+
+if ("${CROSS}" STREQUAL "")
+  set(CROSS x86_64-w64-mingw32-)
+endif ()
+
+set(CMAKE_C_COMPILER ${CROSS}gcc)
+set(CMAKE_CXX_COMPILER ${CROSS}g++)
+
+# Disable googletest CMake usage for mingw cross compiles.
+set(LIBWEBM_DISABLE_GTEST_CMAKE 1)
+
+endif ()  # LIBWEBM_BUILD_X86_64_MINGW_GCC_CMAKE_