Skip to content
Snippets Groups Projects
Commit 7325629e authored by Julien Malik's avatar Julien Malik
Browse files

UTIL: apply OTB patch

parent 30c885b5
Branches
Tags
No related merge requests found
...@@ -34,15 +34,21 @@ SET(OPENJPEG_VERSION ...@@ -34,15 +34,21 @@ SET(OPENJPEG_VERSION
"${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}") "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}")
SET(PACKAGE_VERSION SET(PACKAGE_VERSION
"${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}") "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}")
# svn revision number of this openjpeg fork (used for .so versioning)
SET(OPENJPEG_SVN_REVISION "1108")
# patch number for OTB modifications applied on top of OPENJPEG_SVN_REVISION (used for .so versioning)
SET(OPENJPEG_OTB_PATCH "1")
SET(OPENJPEG_LIBRARY_PROPERTIES SET(OPENJPEG_LIBRARY_PROPERTIES
VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}" VERSION "${OPENJPEG_SVN_REVISION}.${OPENJPEG_OTB_PATCH}.0"
SOVERSION "${OPENJPEG_VERSION_MAJOR}" SOVERSION "${OPENJPEG_SVN_REVISION}.${OPENJPEG_OTB_PATCH}"
) )
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Path to additional CMake modules # Path to additional CMake modules
SET(CMAKE_MODULE_PATH SET(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/CMake ${${OPENJPEG_NAMESPACE}_SOURCE_DIR}/CMake
${CMAKE_MODULE_PATH}) ${CMAKE_MODULE_PATH})
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
...@@ -118,8 +124,8 @@ TEST_BIG_ENDIAN(OPJ_BIG_ENDIAN) ...@@ -118,8 +124,8 @@ TEST_BIG_ENDIAN(OPJ_BIG_ENDIAN)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Setup file for setting custom ctest vars # Setup file for setting custom ctest vars
CONFIGURE_FILE( CONFIGURE_FILE(
${CMAKE_SOURCE_DIR}/CMake/CTestCustom.cmake.in ${${OPENJPEG_NAMESPACE}_SOURCE_DIR}/CMake/CTestCustom.cmake.in
${CMAKE_BINARY_DIR}/CTestCustom.cmake ${${OPENJPEG_NAMESPACE}_BINARY_DIR}/CTestCustom.cmake
@ONLY @ONLY
) )
...@@ -133,19 +139,28 @@ MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) ...@@ -133,19 +139,28 @@ MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# configure name mangling to allow multiple libraries to coexist # configure name mangling to allow multiple libraries to coexist
# peacefully # peacefully
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in)
SET(MANGLE_PREFIX ${OPENJPEG_LIBRARY_NAME}) #SET(OPJ_MANGLE_PREFIX "" CACHE STRING "Prefix used to mangle all the symbols")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in IF(OPJ_MANGLE_PREFIX)
SET(OPJ_USE_MANGLE_PREFIX ON)
ELSE(OPJ_MANGLE_PREFIX)
SET(OPJ_USE_MANGLE_PREFIX OFF)
ENDIF(OPJ_MANGLE_PREFIX)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h
@ONLY) @ONLY IMMEDIATE)
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle_private.h.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle_private.h
@ONLY IMMEDIATE)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# pkgconfig support # pkgconfig support
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc @ONLY) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc @ONLY)
INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig ) #INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
INSTALL( CODE #INSTALL( CODE
"EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink \"libopenjpeg1.pc\" \"\$ENV{DESTDIR}${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig/libopenjpeg.pc\")") # "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink \"libopenjpeg1.pc\" \"\$ENV{DESTDIR}${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig/libopenjpeg.pc\")")
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Compiler specific flags: # Compiler specific flags:
...@@ -179,9 +194,9 @@ ADD_SUBDIRECTORY(libopenjpeg) ...@@ -179,9 +194,9 @@ ADD_SUBDIRECTORY(libopenjpeg)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Build Applications # Build Applications
OPTION(BUILD_CODEC "Build the CODEC executables" ON) #OPTION(BUILD_CODEC "Build the CODEC executables" ON)
OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF) #OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF)
OPTION(BUILD_JPIP "Build the JPIP library and executables." OFF) #OPTION(BUILD_JPIP "Build the JPIP library and executables." OFF)
IF(BUILD_CODEC OR BUILD_MJ2 OR BUILD_JPIP) IF(BUILD_CODEC OR BUILD_MJ2 OR BUILD_JPIP)
OPTION(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF) OPTION(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF)
...@@ -198,18 +213,18 @@ CONFIGURE_FILE("${OPENJPEG_SOURCE_DIR}/opj_config.h.cmake.in" ...@@ -198,18 +213,18 @@ CONFIGURE_FILE("${OPENJPEG_SOURCE_DIR}/opj_config.h.cmake.in"
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Build JPWL-flavoured library and executables # Build JPWL-flavoured library and executables
OPTION(BUILD_JPWL "Build the JPWL library and executables" OFF) #OPTION(BUILD_JPWL "Build the JPWL library and executables" OFF)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Build DOCUMENTATION (not in ALL target and only if Doxygen is found) # Build DOCUMENTATION (not in ALL target and only if Doxygen is found)
OPTION(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF) #OPTION(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF)
IF(BUILD_DOC) IF(BUILD_DOC)
ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(doc)
ENDIF(BUILD_DOC) ENDIF(BUILD_DOC)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Buld Testing # Buld Testing
OPTION(BUILD_TESTING "Build the tests." OFF) #OPTION(BUILD_TESTING "Build the tests." OFF)
IF(BUILD_TESTING) IF(BUILD_TESTING)
IF(BUILD_CODEC) IF(BUILD_CODEC)
ENABLE_TESTING() ENABLE_TESTING()
...@@ -243,18 +258,19 @@ ENDIF(BUILD_TESTING) ...@@ -243,18 +258,19 @@ ENDIF(BUILD_TESTING)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# install all targets referenced as OPENJPEGTargets # install all targets referenced as OPENJPEGTargets
INSTALL(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}) #INSTALL(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR})
CONFIGURE_FILE( ${OPENJPEG_SOURCE_DIR}/CMake/OpenJPEGConfig.cmake.in #CONFIGURE_FILE( ${OPENJPEG_SOURCE_DIR}/CMake/OpenJPEGConfig.cmake.in
${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake # ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake
@ONLY # @ONLY
) #)
INSTALL( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake #INSTALL( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake
DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR} # DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}
) #)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# install CHANGES and LICENSE # install CHANGES and LICENSE
INSTALL( #INSTALL(
FILES CHANGES # FILES CHANGES
LICENSE # LICENSE
DESTINATION ${OPENJPEG_INSTALL_DOC_DIR}) # DESTINATION ${OPENJPEG_INSTALL_DOC_DIR})
#
...@@ -53,13 +53,13 @@ INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME} ...@@ -53,13 +53,13 @@ INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}
) )
# Install includes files # Install includes files
INSTALL(FILES openjpeg.h #INSTALL(FILES openjpeg.h
DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers # DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers
) #)
INSTALL(CODE #INSTALL(CODE
"EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${OPENJPEG_INSTALL_SUBDIR}/openjpeg.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg.h)") # "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${OPENJPEG_INSTALL_SUBDIR}/openjpeg.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg.h)")
# install man page of the library # install man page of the library
INSTALL( #INSTALL(
FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjpeg.3 # FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjpeg.3
DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3) # DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3)
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#ifndef OPENJPEG_H #ifndef OPENJPEG_H
#define OPENJPEG_H #define OPENJPEG_H
#include "openjpeg_mangle.h"
/* /*
========================================================== ==========================================================
...@@ -1515,7 +1516,11 @@ OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV opj_get_jp2_metadata(opj_codec_t *p_cod ...@@ -1515,7 +1516,11 @@ OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV opj_get_jp2_metadata(opj_codec_t *p_cod
OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec); OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec);
/* >>OTB */
OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create0();
OPJ_API void opj_copy_image_header(const opj_image_t* p_image_src, opj_image_t* p_image_dest);
/* <<OTB */
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
OpenJPEG interface OpenJPEG interface
========================================================== ==========================================================
*/ */
#include "openjpeg_mangle_private.h"
#include "openjpeg.h" #include "openjpeg.h"
/* /*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment