From 096667c1c3b9b8bc0fc82382d147314e84c1cae7 Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Fri, 6 Mar 2015 15:32:18 +0100
Subject: [PATCH] COMP: VC10: add static/shared define in header otb_openjpeg

---
 .../ThirdParty/OpenJPEG/src/CMakeLists.txt    | 20 ++++++++++++++++---
 .../src/{otb_openjpeg.h => otb_openjpeg.h.in} |  8 ++++++++
 2 files changed, 25 insertions(+), 3 deletions(-)
 rename Modules/ThirdParty/OpenJPEG/src/{otb_openjpeg.h => otb_openjpeg.h.in} (85%)

diff --git a/Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt
index 287d118547..d53322cf3b 100644
--- a/Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt
+++ b/Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt
@@ -5,8 +5,22 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/otbopenjpeg/libopenjpeg/openjpeg.h
   ${CMAKE_CURRENT_BINARY_DIR}/otbopenjpeg
   )
 
-configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/otb_openjpeg.h
-  ${CMAKE_CURRENT_BINARY_DIR}
+if(WIN32)
+  # TODO : change the static/shared detection when using external openjpeg
+  if(BUILD_SHARED_LIBS)
+    set(OPJ_EXPORTS 1)
+    unset(OPJ_STATIC)
+  else()
+    unset(OPJ_EXPORTS)
+    set(OPJ_STATIC  1)
+  endif()
+else()
+  unset(OPJ_STATIC)
+  unset(OPJ_EXPORTS)
+endif()
+
+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/otb_openjpeg.h.in
+  ${CMAKE_CURRENT_BINARY_DIR}/otb_openjpeg.h
   )
 
-add_subdirectory( otbopenjpeg )
\ No newline at end of file
+add_subdirectory( otbopenjpeg )
diff --git a/Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h b/Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h.in
similarity index 85%
rename from Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h
rename to Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h.in
index 182f70e2ef..1d0f59c1e8 100644
--- a/Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h
+++ b/Modules/ThirdParty/OpenJPEG/src/otb_openjpeg.h.in
@@ -17,6 +17,14 @@
 =========================================================================*/
 #ifndef __otb_openjpeg_h
 
+#ifndef OPJ_STATIC
+#cmakedefine OPJ_STATIC
+#endif
+
+#ifndef OPJ_EXPORTS
+#cmakedefine OPJ_EXPORTS
+#endif
+
 #include "otbopenjpeg/openjpeg.h"
 
 #endif
-- 
GitLab