--- doxygen-1.9.1/addon/doxysearch/CMakeLists.txt.orig	2016-11-04 00:16:18.538177200 -0400
+++ doxygen-1.9.1/addon/doxysearch/CMakeLists.txt	2016-11-04 00:16:58.765793800 -0400
@@ -1,7 +1,7 @@
 find_package(xapian REQUIRED)
 find_package(ZLIB REQUIRED)
 
-if (WIN32)
+if (WIN32 AND NOT(MINGW))
   set(WIN_EXTRA_LIBS uuid.lib rpcrt4.lib ws2_32.lib)
 endif()
 
--- doxygen-Release_1_8_14/cmake/FindIconv.cmake.orig	2018-04-12 06:11:12.190369200 -0400
+++ doxygen-Release_1_8_14/cmake/FindIconv.cmake	2018-04-12 06:35:53.127797200 -0400
@@ -79,7 +79,7 @@ endif()
 check_cxx_source_compiles(
     "#include <iconv.h>
      int main() {
-        iconv(iconv_t(-1), 0, 0, 0, 0);
+        iconv((iconv_t)-1, 0, 0, 0, 0);
      }"
     ICONV_COMPILES)
 
@@ -108,7 +108,7 @@ if(ICONV_FOUND)
         "#include <iconv.h>
          int main() {
             char *p = 0;
-            iconv(iconv_t(-1), &p, 0, 0, 0);
+            iconv((iconv_t)-1, &p, 0, 0, 0);
          }"
         ICONV_ACCEPTS_NONCONST_INPUT)
 
@@ -116,7 +116,7 @@ if(ICONV_FOUND)
         "#include <iconv.h>
          int main() {
             char const *p = 0;
-            iconv(iconv_t(-1), &p, 0, 0, 0);
+            iconv((iconv_t)-1, &p, 0, 0, 0);
          }"
         ICONV_ACCEPTS_CONST_INPUT)
 
--- doxygen-Release_1_8_14/CMakeLists.txt.orig	2017-12-25 11:26:10.000000000 -0500
+++ doxygen-Release_1_8_14/CMakeLists.txt	2018-04-12 06:47:49.952617600 -0400
@@ -121,7 +121,7 @@ else ()
 endif()
 set(LANG_CODES ${lcodes} CACHE STRING "List of language codes for which translations should be compiled in")
 
-if (win_static)
+if (win_static AND MSVC)
     set(CompilerFlags
         CMAKE_CXX_FLAGS
         CMAKE_CXX_FLAGS_DEBUG
