diff -Naur assimp-4.0.1-orig/tools/assimp_view/assimp_view.h assimp-4.0.1/tools/assimp_view/assimp_view.h
--- assimp-4.0.1-orig/tools/assimp_cmd/assimp_cmd.rc.orig	2014-06-12 21:50:48.160000000 +0400
+++ assimp-4.0.1/tools/assimp_cmd/assimp_cmd.rc	2014-06-12 21:54:56.986400000 +0400
@@ -1,7 +1,7 @@
 // Microsoft Visual C++ generated resource script.
 //
 #include "resource.h"
-#include "../../revision.h"
+#include "revision.h"
 
 #define APSTUDIO_READONLY_SYMBOLS
 /////////////////////////////////////////////////////////////////////////////
--- assimp-5.0.1/cmake-modules/FindRT.cmake.orig	2020-01-21 15:40:04.317303800 +0300
+++ assimp-5.0.1/cmake-modules/FindRT.cmake	2020-01-21 15:46:50.122477100 +0300
@@ -7,6 +7,7 @@
 # Source: https://gitlab.cern.ch/dss/eos/commit/44070e575faaa46bd998708ef03eedb381506ff0
 #
 
+if(NOT WIN32)
 if(RT_LIBRARIES)
     set(RT_FIND_QUIETLY TRUE)
 endif(RT_LIBRARIES)
@@ -18,3 +19,4 @@
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(rt DEFAULT_MSG RT_LIBRARY)
 mark_as_advanced(RT_LIBRARY)
+endif()
--- assimp-5.0.1/code/CmakeLists.txt.orig	2020-01-21 15:44:41.687075300 +0300
+++ assimp-5.0.1/code/CmakeLists.txt	2020-01-21 15:44:45.512369800 +0300
@@ -1011,7 +1011,7 @@
 # RT-extensions is used in "contrib/Open3DGC/o3dgcTimer.h" for collecting statistics. Pointed file
 # has implementation for different platforms: WIN32, __MACH__ and other ("else" block).
 FIND_PACKAGE(RT QUIET)
-IF (NOT HUNTER_ENABLED AND (RT_FOUND OR MSVC))
+IF (NOT HUNTER_ENABLED AND (RT_FOUND OR WIN32))
   SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 )
   ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 )
 ELSE ()
--- assimp-5.0.1/code/Common/ZipArchiveIOSystem.cpp.orig	2020-01-21 15:45:32.779925400 +0300
+++ assimp-5.0.1/code/Common/ZipArchiveIOSystem.cpp	2020-01-21 15:47:11.230264700 +0300
@@ -148,7 +148,7 @@
     zlib_filefunc_def IOSystem2Unzip::get(IOSystem* pIOHandler) {
         zlib_filefunc_def mapping;
 
-#ifdef ASSIMP_USE_HUNTER
+#if defined(ASSIMP_USE_HUNTER) || defined(__MINGW32__)
         mapping.zopen_file = (open_file_func)open;
         mapping.zread_file = (read_file_func)read;
         mapping.zwrite_file = (write_file_func)write;
--- assimp-5.0.1/include/assimp/defs.h.orig	2020-01-21 16:00:20.225141000 +0300
+++ assimp-5.0.1/include/assimp/defs.h	2020-01-21 16:00:52.351516500 +0300
@@ -126,7 +126,7 @@
  * GENBOUNDINGBOXES */
 //////////////////////////////////////////////////////////////////////////
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 #   undef ASSIMP_API
 
     //////////////////////////////////////////////////////////////////////////
@@ -135,7 +135,9 @@
 #   ifdef ASSIMP_BUILD_DLL_EXPORT
 #       define ASSIMP_API __declspec(dllexport)
 #       define ASSIMP_API_WINONLY __declspec(dllexport)
-#       pragma warning (disable : 4251)
+#       ifdef _MSC_VER
+#           pragma warning (disable : 4251)
+#       endif
 
     //////////////////////////////////////////////////////////////////////////
     /* Define 'ASSIMP_DLL' before including Assimp to link to ASSIMP in
@@ -168,7 +170,7 @@
 #   define ASSIMP_API __attribute__ ((visibility("default")))
 #   define ASSIMP_API_WINONLY
 #   define AI_FORCE_INLINE inline
-#endif // (defined _MSC_VER)
+#endif // (defined _WIN32)
 
 #ifdef __GNUC__
 #   define AI_WONT_RETURN_SUFFIX  __attribute__((noreturn))
