--- openjpeg-2.3.1/src/lib/openjp2/CMakeLists.txt.orig	2019-04-04 02:55:04.959853700 -0400
+++ openjpeg-2.3.1/src/lib/openjp2/CMakeLists.txt	2019-04-04 03:02:55.237882800 -0400
@@ -107,6 +107,9 @@ if(UNIX)
   target_link_libraries(${OPENJPEG_LIBRARY_NAME} m)
 endif()
 set_target_properties(${OPENJPEG_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+if(MINGW)
+  set_target_properties(${OPENJPEG_LIBRARY_NAME} PROPERTIES OUTPUT_NAME openjp2 RUNTIME_OUTPUT_NAME openjp2-${OPENJPEG_SOVERSION} ARCHIVE_OUTPUT_NAME openjp2)
+endif(MINGW)
 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
   target_compile_options(${OPENJPEG_LIBRARY_NAME} PRIVATE ${OPENJP2_COMPILE_OPTIONS})
 endif()
--- openjpeg-2.3.1/src/lib/openjp3d/CMakeLists.txt.orig	2019-04-04 02:55:04.961847200 -0400
+++ openjpeg-2.3.1/src/lib/openjp3d/CMakeLists.txt	2019-04-04 03:07:09.045105000 -0400
@@ -27,6 +27,9 @@ if(UNIX)
   target_link_libraries(${OPENJP3D_LIBRARY_NAME} m)
 endif()
 set_target_properties(${OPENJP3D_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+if(MINGW)
+  set_target_properties(${OPENJP3D_LIBRARY_NAME} PROPERTIES OUTPUT_NAME openjp3d RUNTIME_OUTPUT_NAME openjp3d-${OPENJPEG_SOVERSION} ARCHIVE_OUTPUT_NAME openjp3d)
+endif(MINGW)
 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
   target_compile_options(${OPENJP3D_LIBRARY_NAME} PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS})
 endif()
--- openjpeg-2.3.1/src/lib/openjpip/CMakeLists.txt.orig	2019-04-04 02:55:04.963841200 -0400
+++ openjpeg-2.3.1/src/lib/openjpip/CMakeLists.txt	2019-04-04 03:17:37.009413600 -0400
@@ -62,6 +62,11 @@ endif()
 add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS})
 set_target_properties(openjpip
   PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+if(MINGW)
+  set_target_properties(openjpip 
+    PROPERTIES OUTPUT_NAME openjpip RUNTIME_OUTPUT_NAME openjpip-${OPENJPEG_SOVERSION} 
+    ARCHIVE_OUTPUT_NAME openjpip)
+endif()
 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
   target_compile_options(openjpip PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS})
 endif()
--- openjpeg-2.3.1/src/lib/openjpwl/CMakeLists.txt.orig	2019-04-04 02:55:04.966861700 -0400
+++ openjpeg-2.3.1/src/lib/openjpwl/CMakeLists.txt	2019-04-04 03:21:28.997116400 -0400
@@ -51,6 +51,10 @@ if(UNIX)
 endif()
 set_target_properties(openjpwl
   PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+if(MINGW)
+  set_target_properties(openjpwl 
+  PROPERTIES OUTPUT_NAME openjpwl RUNTIME_OUTPUT_NAME openjpwl-${OPENJPEG_SOVERSION} ARCHIVE_OUTPUT_NAME openjpwl)
+endif(MINGW)
 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
   target_compile_options(openjpwl PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS})
 endif()
--- openjpeg-2.3.1/src/lib/openmj2/CMakeLists.txt.orig	2019-04-04 02:55:04.968854100 -0400
+++ openjpeg-2.3.1/src/lib/openmj2/CMakeLists.txt	2019-04-04 03:28:00.801821500 -0400
@@ -46,6 +46,11 @@ if(UNIX)
   target_link_libraries(${OPENMJ2_LIBRARY_NAME} m)
 endif()
 set_target_properties(${OPENMJ2_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+if(MINGW)
+  set_target_properties(${OPENMJ2_LIBRARY_NAME} PROPERTIES OUTPUT_NAME openmj2 
+     RUNTIME_OUTPUT_NAME openmj2-${OPENJPEG_SOVERSION} 
+     ARCHIVE_OUTPUT_NAME openmj2)
+endif(MINGW)
 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
   target_compile_options(${OPENMJ2_LIBRARY_NAME} PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS})
 endif()
