From 70462824e2473a276425979b1ad45809f35aa927 Mon Sep 17 00:00:00 2001 From: David Stoup Date: Fri, 10 Jul 2020 15:31:38 -0400 Subject: [PATCH 1/3] Update libjpeg-turbo to version 2.05 --- CMake/External_libjpeg-turbo.cmake | 81 +++++++++--------------------- CMake/fletch-tarballs.cmake | 4 +- 2 files changed, 25 insertions(+), 60 deletions(-) diff --git a/CMake/External_libjpeg-turbo.cmake b/CMake/External_libjpeg-turbo.cmake index f40d73cb..6b24aa25 100644 --- a/CMake/External_libjpeg-turbo.cmake +++ b/CMake/External_libjpeg-turbo.cmake @@ -2,71 +2,36 @@ include(External_yasm) list(APPEND libjpeg-turbo_DEPENDS yasm) -if(WIN32) - ExternalProject_Add(libjpeg-turbo - URL ${libjpeg-turbo_url} - URL_MD5 ${libjpeg-turbo_md5} - DEPENDS ${libjpeg-turbo_DEPENDS} - ${COMMON_EP_ARGS} - ${COMMON_CMAKE_EP_ARGS} - PATCH_COMMAND ${CMAKE_COMMAND} - -Dlibjpeg-turbo_patch:PATH=${fletch_SOURCE_DIR}/Patches/libjpeg-turbo - -Dlibjpeg-turbo_source:PATH=${fletch_BUILD_PREFIX}/src/libjpeg-turbo - -P ${fletch_SOURCE_DIR}/Patches/libjpeg-turbo/Patch.cmake - CMAKE_ARGS - -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} - -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} - -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} - -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} - -DCMAKE_INSTALL_PREFIX:PATH=${fletch_BUILD_INSTALL_PREFIX} - -DNASM:FILEPATH=${fletch_YASM} -g vc8 - ) +ExternalProject_Add(libjpeg-turbo + URL ${libjpeg-turbo_url} + URL_MD5 ${libjpeg-turbo_md5} + DEPENDS ${libjpeg-turbo_DEPENDS} + ${COMMON_EP_ARGS} + ${COMMON_CMAKE_EP_ARGS} + PATCH_COMMAND ${CMAKE_COMMAND} + -Dlibjpeg-turbo_patch:PATH=${fletch_SOURCE_DIR}/Patches/libjpeg-turbo + -Dlibjpeg-turbo_source:PATH=${fletch_BUILD_PREFIX}/src/libjpeg-turbo + -P ${fletch_SOURCE_DIR}/Patches/libjpeg-turbo/Patch.cmake + CMAKE_ARGS + -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} + -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DCMAKE_INSTALL_PREFIX:PATH=${fletch_BUILD_INSTALL_PREFIX} + -DNASM:FILEPATH=${fletch_YASM} -g vc8 + ) +if (WIN32) ExternalProject_Add_Step(libjpeg-turbo fixup-install COMMAND ${CMAKE_COMMAND} -E copy - ${fletch_BUILD_INSTALL_PREFIX}/lib/jpeg.lib - ${fletch_BUILD_INSTALL_PREFIX}/lib/libjpeg.lib + ${fletch_BUILD_INSTALL_PREFIX}/lib/jpeg.lib + ${fletch_BUILD_INSTALL_PREFIX}/lib/libjpeg.lib DEPENDEES install ) - - fletch_external_project_force_install(PACKAGE libjpeg-turbo STEP_NAMES install fixup-install) -else() - # We need some special Apple treatment - if(APPLE) - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(_libjpeg-turbo_ARGS_APPLE --host x86_64-apple-darwin ) - endif() - if(CMAKE_SIZEOF_VOID_P EQUAL 4) - # Need to investigate/apply the following command-line options for 32-bit when required. - # Configure commandline comes from the BUILDING.txt file in libjpeg-turbo source - # "--host i686-apple-darwin CFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk - # -mmacosx-version-min=10.5 -O3 -m32' LDFLAGS='-isysroot - # /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -m32'") - - endif() - endif() - - Fletch_Require_Make() - ExternalProject_Add(libjpeg-turbo - URL ${libjpeg-turbo_url} - URL_MD5 ${libjpeg-turbo_md5} - DEPENDS ${libjpeg-turbo_DEPENDS} - ${COMMON_EP_ARGS} - PATCH_COMMAND ${CMAKE_COMMAND} - -Dlibjpeg-turbo_patch:PATH=${fletch_SOURCE_DIR}/Patches/libjpeg-turbo - -Dlibjpeg-turbo_source:PATH=${fletch_BUILD_PREFIX}/src/libjpeg-turbo - -P ${fletch_SOURCE_DIR}/Patches/libjpeg-turbo/Patch.cmake - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND ./configure - --prefix=${fletch_BUILD_INSTALL_PREFIX} - ${_libjpeg-turbo_ARGS_APPLE} - NASM=${fletch_YASM} - BUILD_COMMAND ${MAKE_EXECUTABLE} - INSTALL_COMMAND ${MAKE_EXECUTABLE} install - ) - fletch_external_project_force_install(PACKAGE libjpeg-turbo) endif() +fletch_external_project_force_install(PACKAGE libjpeg-turbo STEP_NAMES install fixup-install) + set(libjpeg-turbo_ROOT "${fletch_BUILD_INSTALL_PREFIX}" CACHE PATH "" FORCE) file(APPEND ${fletch_CONFIG_INPUT} " ################################ diff --git a/CMake/fletch-tarballs.cmake b/CMake/fletch-tarballs.cmake index 7fb21f57..5762350d 100644 --- a/CMake/fletch-tarballs.cmake +++ b/CMake/fletch-tarballs.cmake @@ -49,9 +49,9 @@ set(zlib_dlname "zlib-${ZLib_version}.zip") list(APPEND fletch_external_sources ZLib) # libjpeg-turbo -set(libjpeg-turbo_version "1.4.0") +set(libjpeg-turbo_version "2.0.5") set(libjpeg-turbo_url "http://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-${libjpeg-turbo_version}.tar.gz") -set(libjpeg-turbo_md5 "039153dabe61e1ac8d9323b5522b56b0") +set(libjpeg-turbo_md5 "3a7dc293918775fc933f81e2bce36464") list(APPEND fletch_external_sources libjpeg-turbo) # libtiff From 410adb1fec110a96c687a3cc5611a1cedcd42c02 Mon Sep 17 00:00:00 2001 From: David Stoup Date: Fri, 10 Jul 2020 15:34:08 -0400 Subject: [PATCH 2/3] Comment out the patches so we can test for fixed bugs. --- Patches/libjpeg-turbo/Patch.cmake | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Patches/libjpeg-turbo/Patch.cmake b/Patches/libjpeg-turbo/Patch.cmake index 2b4579f5..0440ad16 100644 --- a/Patches/libjpeg-turbo/Patch.cmake +++ b/Patches/libjpeg-turbo/Patch.cmake @@ -6,15 +6,15 @@ # The purpose of this is to add CMake build to libsvm message("Patching libjpeg-turbo ${libjpeg-turbo_patch} AND ${libjpeg-turbo_source}") -if (WIN32) - file(COPY - ${libjpeg-turbo_patch}/simd/CMakeLists.txt - DESTINATION ${libjpeg-turbo_source}/simd/ - ) -endif() +#if (WIN32 ) +# file(COPY +# ${libjpeg-turbo_patch}/simd/CMakeLists.txt +# DESTINATION ${libjpeg-turbo_source}/simd/ +# ) +# endif() -# Patch config.guess for arm boards. -file(COPY - ${libjpeg-turbo_patch}/config.guess - DESTINATION ${libjpeg-turbo_source}/ - ) +# # Patch config.guess for arm boards. +# file(COPY +# ${libjpeg-turbo_patch}/config.guess +# DESTINATION ${libjpeg-turbo_source}/ +# ) From c38c45b818679011fb83582540c7c9a51f688183 Mon Sep 17 00:00:00 2001 From: David Stoup Date: Mon, 13 Jul 2020 07:39:19 -0400 Subject: [PATCH 3/3] Restore the MacOS treatment --- CMake/External_libjpeg-turbo.cmake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CMake/External_libjpeg-turbo.cmake b/CMake/External_libjpeg-turbo.cmake index 6b24aa25..c21550b4 100644 --- a/CMake/External_libjpeg-turbo.cmake +++ b/CMake/External_libjpeg-turbo.cmake @@ -2,6 +2,21 @@ include(External_yasm) list(APPEND libjpeg-turbo_DEPENDS yasm) +# We need some special Apple treatment +if(APPLE) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(_libjpeg-turbo_ARGS_APPLE --host x86_64-apple-darwin ) + endif() + if(CMAKE_SIZEOF_VOID_P EQUAL 4) + # Need to investigate/apply the following command-line options for 32-bit when required. + # Configure commandline comes from the BUILDING.txt file in libjpeg-turbo source + # "--host i686-apple-darwin CFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk + # -mmacosx-version-min=10.5 -O3 -m32' LDFLAGS='-isysroot + # /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -m32'") + + endif() +endif() + ExternalProject_Add(libjpeg-turbo URL ${libjpeg-turbo_url} URL_MD5 ${libjpeg-turbo_md5}