summaryrefslogtreecommitdiff
path: root/libopenjpeg
diff options
context:
space:
mode:
authorMathieu Malaterre <mathieu.malaterre@gmail.com>2006-01-31 14:20:06 +0000
committerMathieu Malaterre <mathieu.malaterre@gmail.com>2006-01-31 14:20:06 +0000
commitc5c3ca370e66809b768ab0dfd93e4472a29b17b7 (patch)
tree9c24b58db6639336309c6cff29c79fc41a6863bb /libopenjpeg
parent72de930d08c8a08d082bf14805767e251d6f048d (diff)
ENH: Move to a def solution to avoid polluting header file with declspec
Diffstat (limited to 'libopenjpeg')
-rw-r--r--libopenjpeg/CMakeLists.txt25
-rw-r--r--libopenjpeg/openjpeg.def.in17
-rw-r--r--libopenjpeg/openjpeg.h12
3 files changed, 34 insertions, 20 deletions
diff --git a/libopenjpeg/CMakeLists.txt b/libopenjpeg/CMakeLists.txt
index 752e8945..cd7b6786 100644
--- a/libopenjpeg/CMakeLists.txt
+++ b/libopenjpeg/CMakeLists.txt
@@ -23,17 +23,26 @@ SET(OpenJPEG_SRCS
tgt.c
)
-# Handle the dllimport/dllexport for building shared lib on Win32
-IF (WIN32)
- IF (BUILD_SHARED_LIBS)
- ADD_DEFINITIONS(-DOPJ_SHARED)
- ELSE (BUILD_SHARED_LIBS)
- ADD_DEFINITIONS(-DOPJ_STATIC)
- ENDIF (BUILD_SHARED_LIBS)
-ENDIF (WIN32)
+IF(WIN32 AND BUILD_SHARED_LIBS)
+ SET(UNDERSCORE)
+ IF(BORLAND)
+ SET(UNDERSCORE "_")
+ ENDIF(BORLAND)
+ CONFIGURE_FILE(
+ ${OPENJPEG_SOURCE_DIR}/libopenjpeg/openjpeg.def.in
+ ${OPENJPEG_BINARY_DIR}/libopenjpeg/openjpeg.def
+ @ONLY IMMEDIATE
+ )
+ IF(NOT BORLAND)
+ SET(OpenJPEG_SRCS ${OpenJPEG_SRCS}
+ ${OPENJPEG_BINARY_DIR}/libopenjpeg/openjpeg.def
+ )
+ ENDIF(NOT BORLAND)
+ENDIF(WIN32 AND BUILD_SHARED_LIBS)
# Create the library
ADD_LIBRARY(${OPJ_PREFIX}openjpeg ${OpenJPEG_SRCS})
# Install library
INSTALL_TARGETS(/lib/ ${OPJ_PREFIX}openjpeg)
+
diff --git a/libopenjpeg/openjpeg.def.in b/libopenjpeg/openjpeg.def.in
new file mode 100644
index 00000000..85cdd94a
--- /dev/null
+++ b/libopenjpeg/openjpeg.def.in
@@ -0,0 +1,17 @@
+LIBRARY openjpeg.dll
+EXPORTS @UNDERSCORE@opj_image_create
+ @UNDERSCORE@opj_image_destroy
+ @UNDERSCORE@opj_cio_open
+ @UNDERSCORE@opj_cio_close
+ @UNDERSCORE@cio_tell
+ @UNDERSCORE@opj_set_event_mgr
+ @UNDERSCORE@opj_create_decompress
+ @UNDERSCORE@opj_destroy_decompress
+ @UNDERSCORE@opj_set_default_decoder_parameters
+ @UNDERSCORE@opj_setup_decoder
+ @UNDERSCORE@opj_decode
+ @UNDERSCORE@opj_create_compress
+ @UNDERSCORE@opj_destroy_compress
+ @UNDERSCORE@opj_set_default_encoder_parameters
+ @UNDERSCORE@opj_setup_encoder
+ @UNDERSCORE@opj_encode
diff --git a/libopenjpeg/openjpeg.h b/libopenjpeg/openjpeg.h
index ce99e3c5..7feb0133 100644
--- a/libopenjpeg/openjpeg.h
+++ b/libopenjpeg/openjpeg.h
@@ -32,19 +32,7 @@
#define OPENJPEG_VERSION "1.0.0"
-#if defined(_WIN32) && !defined (OPJ_STATIC)
-#ifdef OPJ_SHARED
-#define OPJ_EXPORT __declspec(dllexport)
-#else
-#define OPJ_EXPORT __declspec(dllimport)
-#endif
-#else
-#ifdef OPJ_STATIC
-#define OPJ_EXPORT extern
-#else
#define OPJ_EXPORT
-#endif
-#endif
/*
==========================================================