diff --git a/Modules/ThirdParty/OpenJPEG/src/otbopenjpeg/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/src/otbopenjpeg/CMakeLists.txt
index 23a9895e240fd75c2e4bf1d384e22b5ef19e53c7..c74d41371936fcd18914736b603a368789e54ea0 100644
--- a/Modules/ThirdParty/OpenJPEG/src/otbopenjpeg/CMakeLists.txt
+++ b/Modules/ThirdParty/OpenJPEG/src/otbopenjpeg/CMakeLists.txt
@@ -33,6 +33,14 @@ set(OPENJPEG_SRCS
   ${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg/function_list.c
 )
 
+if(WIN32)
+  if(BUILD_SHARED_LIBS)
+    add_definitions(-DOPJ_EXPORTS)
+  else()
+    add_definitions(-DOPJ_STATIC)
+  endif()
+endif()
+
 set(CMAKE_MODULE_PATH
     ${CMAKE_CURRENT_SOURCE_DIR}/CMake
     ${CMAKE_MODULE_PATH})
@@ -100,4 +108,4 @@ install(TARGETS otbopenjpeg
 
 # Purposely NOT installing headers
 
-otb_module_target( otbopenjpeg NO_INSTALL )
\ No newline at end of file
+otb_module_target( otbopenjpeg NO_INSTALL )