aboutsummaryrefslogtreecommitdiff
path: root/ports/libjpeg-turbo
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2016-09-18 20:50:08 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2016-09-18 20:54:03 -0700
commitccca198c1b1730b0241911cb56dc8e3504958b2a (patch)
treea2dd9b8b087a09afdcecc5cbb3377bed15127eb2 /ports/libjpeg-turbo
downloadvcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.tar.gz
vcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.zip
Initial commit
Diffstat (limited to 'ports/libjpeg-turbo')
-rw-r--r--ports/libjpeg-turbo/CONTROL3
-rw-r--r--ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch201
-rw-r--r--ports/libjpeg-turbo/portfile.cmake38
3 files changed, 242 insertions, 0 deletions
diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL
new file mode 100644
index 000000000..9c5ee1d07
--- /dev/null
+++ b/ports/libjpeg-turbo/CONTROL
@@ -0,0 +1,3 @@
+Source: libjpeg-turbo
+Version: 1.4.90-1
+Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.
diff --git a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch
new file mode 100644
index 000000000..5be2594c7
--- /dev/null
+++ b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch
@@ -0,0 +1,201 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bfb7661..5373cd7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,6 +55,9 @@ option(WITH_JAVA "Build Java wrapper for the TurboJPEG library" FALSE)
+ option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_SIMD=0 WITH_TURBOJPEG=0 WITH_ARITH_ENC=0 WITH_ARITH_DEC=0)" FALSE)
+ option(ENABLE_STATIC "Build static libraries" TRUE)
+ option(ENABLE_SHARED "Build shared libraries" TRUE)
++option(ENABLE_EXECUTABLES "Build executables" TRUE)
++option(INSTALL_DOCS "Install doc files" TRUE)
++option(INSTALL_HEADERS "Install header files" TRUE)
+
+ if(WITH_12BIT)
+ set(WITH_SIMD FALSE)
+@@ -264,14 +267,16 @@ if(WITH_TURBOJPEG)
+ target_link_libraries(turbojpeg jpeg-static)
+ set_target_properties(turbojpeg PROPERTIES LINK_INTERFACE_LIBRARIES "")
+
+- add_executable(tjunittest tjunittest.c tjutil.c)
+- target_link_libraries(tjunittest turbojpeg)
++ if(ENABLE_EXECUTABLES)
++ add_executable(tjunittest tjunittest.c tjutil.c)
++ target_link_libraries(tjunittest turbojpeg)
+
+- add_executable(tjbench tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c wrbmp.c
+- wrppm.c)
+- target_link_libraries(tjbench turbojpeg jpeg-static)
+- set_property(TARGET tjbench PROPERTY COMPILE_FLAGS
+- "-DBMP_SUPPORTED -DPPM_SUPPORTED")
++ add_executable(tjbench tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c wrbmp.c
++ wrppm.c)
++ target_link_libraries(tjbench turbojpeg jpeg-static)
++ set_property(TARGET tjbench PROPERTY COMPILE_FLAGS
++ "-DBMP_SUPPORTED -DPPM_SUPPORTED")
++ endif()
+ endif()
+
+ if(ENABLE_STATIC)
+@@ -284,14 +289,16 @@ if(WITH_TURBOJPEG)
+ add_dependencies(turbojpeg-static simd)
+ endif()
+
+- add_executable(tjunittest-static tjunittest.c tjutil.c)
+- target_link_libraries(tjunittest-static turbojpeg-static)
++ if(ENABLE_EXECUTABLES)
++ add_executable(tjunittest-static tjunittest.c tjutil.c)
++ target_link_libraries(tjunittest-static turbojpeg-static)
+
+- add_executable(tjbench-static tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c
+- wrbmp.c wrppm.c)
+- target_link_libraries(tjbench-static turbojpeg-static jpeg-static)
+- set_property(TARGET tjbench-static PROPERTY COMPILE_FLAGS
+- "-DBMP_SUPPORTED -DPPM_SUPPORTED")
++ add_executable(tjbench-static tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c
++ wrbmp.c wrppm.c)
++ target_link_libraries(tjbench-static turbojpeg-static jpeg-static)
++ set_property(TARGET tjbench-static PROPERTY COMPILE_FLAGS
++ "-DBMP_SUPPORTED -DPPM_SUPPORTED")
++ endif()
+ endif()
+ endif()
+
+@@ -303,7 +310,7 @@ else()
+ set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
+ endif()
+
+-if(ENABLE_STATIC)
++if(ENABLE_STATIC AND ENABLE_EXECUTABLES)
+ add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
+ ${CJPEG_BMP_SOURCES})
+ set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+@@ -319,10 +326,11 @@ if(ENABLE_STATIC)
+ set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "-DUSE_SETMODE")
+ endif()
+
+-add_executable(rdjpgcom rdjpgcom.c)
+-
+-add_executable(wrjpgcom wrjpgcom.c)
++if(ENABLE_EXECUTABLES)
++ add_executable(rdjpgcom rdjpgcom.c)
+
++ add_executable(wrjpgcom wrjpgcom.c)
++endif()
+
+ #
+ # Tests
+@@ -880,24 +888,30 @@ add_custom_target(installer
+
+ if(WITH_TURBOJPEG)
+ if(ENABLE_SHARED)
+- install(TARGETS turbojpeg tjbench
++ install(TARGETS turbojpeg
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin)
++ if(ENABLE_EXECUTABLES)
++ install(TARGETS tjbench
++ RUNTIME DESTINATION bin)
++ endif()
+ endif()
+ if(ENABLE_STATIC)
+ install(TARGETS turbojpeg-static ARCHIVE DESTINATION lib)
+- if(NOT ENABLE_SHARED)
++ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tjbench-static.exe
+ DESTINATION bin RENAME tjbench.exe)
+ endif()
+ endif()
+- install(FILES ${CMAKE_SOURCE_DIR}/turbojpeg.h DESTINATION include)
++ if(INSTALL_HEADERS)
++ install(FILES ${CMAKE_SOURCE_DIR}/turbojpeg.h DESTINATION include)
++ endif()
+ endif()
+
+ if(ENABLE_STATIC)
+ install(TARGETS jpeg-static ARCHIVE DESTINATION lib)
+- if(NOT ENABLE_SHARED)
++ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cjpeg-static.exe
+ DESTINATION bin RENAME cjpeg.exe)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/djpeg-static.exe
+@@ -907,14 +921,20 @@ if(ENABLE_STATIC)
+ endif()
+ endif()
+
+-install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION bin)
++if(ENABLE_EXECUTABLES)
++ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION bin)
++endif()
+
+-install(FILES ${CMAKE_SOURCE_DIR}/README.ijg ${CMAKE_SOURCE_DIR}/README.md
+- ${CMAKE_SOURCE_DIR}/example.c ${CMAKE_SOURCE_DIR}/libjpeg.txt
+- ${CMAKE_SOURCE_DIR}/structure.txt ${CMAKE_SOURCE_DIR}/usage.txt
+- ${CMAKE_SOURCE_DIR}/wizard.txt
+- DESTINATION doc)
++if(INSTALL_DOCS)
++ install(FILES ${CMAKE_SOURCE_DIR}/README.ijg ${CMAKE_SOURCE_DIR}/README.md
++ ${CMAKE_SOURCE_DIR}/example.c ${CMAKE_SOURCE_DIR}/libjpeg.txt
++ ${CMAKE_SOURCE_DIR}/structure.txt ${CMAKE_SOURCE_DIR}/usage.txt
++ ${CMAKE_SOURCE_DIR}/wizard.txt
++ DESTINATION doc)
++endif()
+
+-install(FILES ${CMAKE_BINARY_DIR}/jconfig.h ${CMAKE_SOURCE_DIR}/jerror.h
+- ${CMAKE_SOURCE_DIR}/jmorecfg.h ${CMAKE_SOURCE_DIR}/jpeglib.h
+- DESTINATION include)
++if(INSTALL_HEADERS)
++ install(FILES ${CMAKE_BINARY_DIR}/jconfig.h ${CMAKE_SOURCE_DIR}/jerror.h
++ ${CMAKE_SOURCE_DIR}/jmorecfg.h ${CMAKE_SOURCE_DIR}/jpeglib.h
++ DESTINATION include)
++endif()
+diff --git a/sharedlib/CMakeLists.txt b/sharedlib/CMakeLists.txt
+index d423cce..9da7c6e 100644
+--- a/sharedlib/CMakeLists.txt
++++ b/sharedlib/CMakeLists.txt
+@@ -50,24 +50,31 @@ else()
+ set(DJPEG_BMP_SOURCES ../wrbmp.c ../wrtarga.c)
+ endif()
+
+-add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
+- ../rdswitch.c ${CJPEG_BMP_SOURCES})
+-set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+-target_link_libraries(cjpeg jpeg)
++if(ENABLE_EXECUTABLES)
++ add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
++ ../rdswitch.c ${CJPEG_BMP_SOURCES})
++ set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
++ target_link_libraries(cjpeg jpeg)
+
+-add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
+- ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
+-set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+-target_link_libraries(djpeg jpeg)
++ add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
++ ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
++ set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
++ target_link_libraries(djpeg jpeg)
+
+-add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
+-target_link_libraries(jpegtran jpeg)
+-set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "-DUSE_SETMODE")
++ add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
++ target_link_libraries(jpegtran jpeg)
++ set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "-DUSE_SETMODE")
+
+-add_executable(jcstest ../jcstest.c)
+-target_link_libraries(jcstest jpeg)
++ add_executable(jcstest ../jcstest.c)
++ target_link_libraries(jcstest jpeg)
+
+-install(TARGETS jpeg cjpeg djpeg jpegtran
++ install(TARGETS cjpeg djpeg jpegtran
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib
++ RUNTIME DESTINATION bin)
++endif()
++
++install(TARGETS jpeg
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin)
diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake
new file mode 100644
index 000000000..82e5c6ab1
--- /dev/null
+++ b/ports/libjpeg-turbo/portfile.cmake
@@ -0,0 +1,38 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libjpeg-turbo-1.4.90)
+
+vcpkg_download_distfile(ARCHIVE
+ URL "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/1.4.90.zip"
+ FILENAME "libjpeg-turbo-1.4.90.zip"
+ MD5 dcd49a7100e41870faae988f608471af
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/add-options-for-exes-docs-headers.patch"
+)
+
+vcpkg_find_acquire_program(NASM)
+get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
+set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DENABLE_STATIC=OFF
+ -DWITH_CRT_DLL=ON
+ -DENABLE_EXECUTABLES=OFF
+ -DINSTALL_DOCS=OFF
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ OPTIONS_DEBUG -DINSTALL_HEADERS=OFF
+)
+
+vcpkg_build_cmake()
+vcpkg_install_cmake()
+
+file(COPY
+ ${SOURCE_PATH}/LICENSE.md
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo
+)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/copyright)
+vcpkg_copy_pdbs()