diff --git a/CMake/OpenJPEGCPack.cmake b/CMake/OpenJPEGCPack.cmake new file mode 100644 index 00000000..e3cc5f4c --- /dev/null +++ b/CMake/OpenJPEGCPack.cmake @@ -0,0 +1,23 @@ +# package bundler +if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") + if(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake") + set(CMAKE_INSTALL_MFC_LIBRARIES 0) + set(CMAKE_INSTALL_DEBUG_LIBRARIES 0) + include(${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake) + endif(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake") + + set(OPJ_PACKAGE_DESCRIPTION_SUMMARY "OpenJPEG - OpenJPEG a JPEG 2000 implementation.") + set(OPJ_PACKAGE_CONTACT "openjpeg users ") + + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${OPJ_PACKAGE_DESCRIPTION_SUMMARY}) + set(CPACK_PACKAGE_VENDOR "OpenJPEG") + set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + set(CPACK_PACKAGE_VERSION_MAJOR "${OPENJPEG_VERSION_MAJOR}") + set(CPACK_PACKAGE_VERSION_MINOR "${OPENJPEG_VERSION_MINOR}") + set(CPACK_PACKAGE_VERSION_PATCH "${OPENJPEG_VERSION_BUILD}") + set(CPACK_PACKAGE_INSTALL_DIRECTORY "OpenJPEG ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") + set(CPACK_SOURCE_PACKAGE_FILE_NAME "openjpeg-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + + include(CPack) +endiF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") diff --git a/CMakeLists.txt b/CMakeLists.txt index e93c6dd9..2847a4dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ INCLUDE_REGULAR_EXPRESSION("^.*$") #----------------------------------------------------------------------------- # OPENJPEG version number, useful for packaging and doxygen doc: SET(OPENJPEG_VERSION_MAJOR 1) -SET(OPENJPEG_VERSION_MINOR 4) +SET(OPENJPEG_VERSION_MINOR 5) SET(OPENJPEG_VERSION_BUILD 0) SET(OPENJPEG_VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}") @@ -39,12 +39,13 @@ SET(OPENJPEG_LIBRARY_PROPERTIES SOVERSION "${OPENJPEG_VERSION_MAJOR}" ) - +# -------------------------------------------------------------------------- # Path to additional CMake modules SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake ${CMAKE_MODULE_PATH}) +# -------------------------------------------------------------------------- # On Visual Studio 8 MS deprecated C. This removes all 1.276E1265 security # warnings IF(WIN32) @@ -110,6 +111,10 @@ ENDIF(NOT OPENJPEG_INSTALL_PACKAGE_DIR) # Test for some required system information. INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) +# Big endian test: +INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake) +TEST_BIG_ENDIAN(OPJ_BIG_ENDIAN) + #----------------------------------------------------------------------------- # Setup file for setting custom ctest vars CONFIGURE_FILE( @@ -132,7 +137,7 @@ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) SET(MANGLE_PREFIX ${OPENJPEG_LIBRARY_NAME}) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h - @ONLY IMMEDIATE) + @ONLY) ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) #----------------------------------------------------------------------------- @@ -153,51 +158,16 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC) #----------------------------------------------------------------------------- # opj_config.h generation (1/2) -FIND_FILE(HAVE_STRINGS_H_FOUND strings.h) -IF(NOT HAVE_STRINGS_H_FOUND STREQUAL "HAVE_STRINGS_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_STRINGS_H strings.h) - SET(HAS_STRINGS_H 1) -ENDIF() -FIND_FILE(HAVE_INTTYPES_H_FOUND inttypes.h) -IF(NOT HAVE_INTTYPES_H_FOUND STREQUAL "HAVE_INTTYPES_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_INTTYPES_H inttypes.h) - SET(HAS_INTTYPES_H 1) -ENDIF() -FIND_FILE(HAVE_MEMORY_H_FOUND memory.h) -IF(NOT HAVE_MEMORY_H_FOUND STREQUAL "HAVE_MEMORY_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_MEMORY_H memory.h) - SET(HAS_MEMORY_H 1) -ENDIF() -FIND_FILE(HAVE_STDINT_H_FOUND stdint.h) -IF(NOT HAVE_STDINT_H_FOUND STREQUAL "HAVE_STDINT_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_STDINT_H stdint.h) - SET(HAS_STDINT_H 1) -ENDIF() -FIND_FILE(HAVE_STDLIB_H_FOUND stdlib.h) -IF(NOT HAVE_STDLIB_H_FOUND STREQUAL "HAVE_STDLIB_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_STDLIB_H stdlib.h) - SET(HAS_STDLIB_H 1) -ENDIF() -FIND_FILE(HAVE_STRING_H_FOUND string.h) -IF(NOT HAVE_STRING_H_FOUND STREQUAL "HAVE_STRING_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_STRING_H string.h) - SET(HAS_STRING_H 1) -ENDIF() -FIND_FILE(HAVE_SYS_STAT_H_FOUND sys/stat.h) -IF(NOT HAVE_SYS_STAT_H_FOUND STREQUAL "HAVE_SYS_STAT_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_SYS_STAT_H sys/stat.h) - SET(HAS_SYS_STAT_H 1) -ENDIF() -FIND_FILE(HAVE_SYS_TYPES_H_FOUND sys/types.h) -IF(NOT HAVE_SYS_TYPES_H_FOUND STREQUAL "HAVE_SYS_TYPES_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_SYS_TYPES_H sys/types.h) - SET(HAS_SYS_TYPES_H 1) -ENDIF() -FIND_FILE(HAVE_UNISTD_H_FOUND unistd.h) -IF(NOT HAVE_UNISTD_H_FOUND STREQUAL "HAVE_UNISTD_H_FOUND-NOTFOUND") - FIND_FILE(HAVE_UNISTD_H unistd.h) - SET(HAS_UNISTD_H 1) -ENDIF() +CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) +CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) +CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H) +CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) +CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) +CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) +CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H) +CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) + #----------------------------------------------------------------------------- # Build Library @@ -287,3 +257,5 @@ INSTALL( FILES CHANGES LICENSE DESTINATION ${OPENJPEG_INSTALL_DOC_DIR}) + +INCLUDE (CMake/OpenJPEGCPack.cmake) diff --git a/opj_config.h.cmake.in b/opj_config.h.cmake.in index c05d8d55..999d366c 100644 --- a/opj_config.h.cmake.in +++ b/opj_config.h.cmake.in @@ -1,22 +1,35 @@ /* create config.h for CMake */ #define PACKAGE_VERSION "@PACKAGE_VERSION@" -#cmakedefine HAVE_INTTYPES_H @HAS_INTTYPES_H@ -#cmakedefine HAVE_MEMORY_H @HAS_MEMORY_H@ -#cmakedefine HAVE_STDINT_H @HAS_STDINT_H@ -#cmakedefine HAVE_STDLIB_H @HAS_STDLIB_H@ -#cmakedefine HAVE_STRINGS_H @HAS_STRINGS_H@ -#cmakedefine HAVE_STRING_H @HAS_STRING_H@ -#cmakedefine HAVE_SYS_STAT_H @HAS_SYS_STAT_H@ -#cmakedefine HAVE_SYS_TYPES_H @HAS_SYS_TYPES_H@ -#cmakedefine HAVE_UNISTD_H @HAS_UNISTD_H@ -#cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@ -#cmakedefine HAVE_PNG_H @HAVE_PNG_H@ -#cmakedefine HAVE_LIBTIFF @HAVE_LIBTIFF@ -#cmakedefine HAVE_TIFF_H @HAVE_TIFF_H@ +#cmakedefine HAVE_INTTYPES_H +#cmakedefine HAVE_MEMORY_H +#cmakedefine HAVE_STDINT_H +#cmakedefine HAVE_STDLIB_H +#cmakedefine HAVE_STRINGS_H +#cmakedefine HAVE_STRING_H +#cmakedefine HAVE_SYS_STAT_H +#cmakedefine HAVE_SYS_TYPES_H +#cmakedefine HAVE_UNISTD_H +#cmakedefine HAVE_LIBPNG +#cmakedefine HAVE_PNG_H +#cmakedefine HAVE_LIBTIFF +#cmakedefine HAVE_TIFF_H -#cmakedefine HAVE_LIBLCMS1 @HAVE_LIBLCMS1@ -#cmakedefine HAVE_LIBLCMS2 @HAVE_LIBLCMS2@ -#cmakedefine HAVE_LCMS1_H @HAVE_LCMS1_H@ -#cmakedefine HAVE_LCMS2_H @HAVE_LCMS2_H@ +#cmakedefine HAVE_LIBLCMS1 +#cmakedefine HAVE_LIBLCMS2 +#cmakedefine HAVE_LCMS1_H +#cmakedefine HAVE_LCMS2_H + +/* Byte order. */ +/* All compilers that support Mac OS X define either __BIG_ENDIAN__ or +__LITTLE_ENDIAN__ to match the endianness of the architecture being +compiled for. This is not necessarily the same as the architecture of the +machine doing the building. In order to support Universal Binaries on +Mac OS X, we prefer those defines to decide the endianness. +On other platforms we use the result of the TRY_RUN. */ +#if !defined(__APPLE__) +#cmakedefine OPJ_BIG_ENDIAN +#elif defined(__BIG_ENDIAN__) +# define OPJ_BIG_ENDIAN +#endif