mirror of https://github.com/microsoft/vcpkg.git
Merge 9ee6af1928 into 04a9d8e521
This commit is contained in:
commit
336a55aca3
|
|
@ -14,6 +14,12 @@ vcpkg_from_github(
|
|||
add-options-for-docs-headers.patch
|
||||
# workaround for vcpkg bug see #5697 on github for more information
|
||||
workaround_cmake_system_processor.patch
|
||||
# apply libjpeg-turbo patches for dependency issues https://github.com/libjpeg-turbo/libjpeg-turbo/issues/901
|
||||
# This patch file contains changes from the following upstream commits:
|
||||
# https://github.com/libjpeg-turbo/libjpeg-turbo/commit/95156233739078e7d4de0aeeacc4b0595630f393
|
||||
# https://github.com/libjpeg-turbo/libjpeg-turbo/commit/240e20d87c0b7d17614687ddc55ccd1fc631daf9
|
||||
# https://github.com/libjpeg-turbo/libjpeg-turbo/commit/204e5c2bed4401309c26dc6ed95001e2fc50f833
|
||||
system-dependency-fixes-pr-901.patch
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32")
|
||||
|
|
@ -48,6 +54,8 @@ vcpkg_cmake_configure(
|
|||
-DENABLE_STATIC=${ENABLE_STATIC}
|
||||
-DENABLE_SHARED=${ENABLE_SHARED}
|
||||
-DWITH_CRT_DLL=${WITH_CRT_DLL}
|
||||
-DWITH_SYSTEM_SPNG=ON
|
||||
-DWITH_SYSTEM_ZLIB=ON
|
||||
${FEATURE_OPTIONS}
|
||||
${LIBJPEGTURBO_SIMD}
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a1293dbb..92f981d7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -735,10 +735,22 @@ if(WITH_TURBOJPEG OR WITH_TOOLS OR WITH_TESTS)
|
||||
boolean_number(WITH_SYSTEM_SPNG)
|
||||
report_option(WITH_SYSTEM_SPNG "System-supplied libspng")
|
||||
if(WITH_SYSTEM_SPNG)
|
||||
- include(FindPkgConfig)
|
||||
- pkg_check_modules(spng REQUIRED spng IMPORTED_TARGET)
|
||||
+ find_package(SPNG CONFIG QUIET)
|
||||
+ if(SPNG_FOUND)
|
||||
+ if(TARGET spng::spng)
|
||||
+ set(SPNG_TARGET_DEFAULT spng::spng)
|
||||
+ elseif(TARGET spng::spng_static)
|
||||
+ set(SPNG_TARGET_DEFAULT spng::spng_static)
|
||||
+ endif()
|
||||
+ else()
|
||||
+ include(FindPkgConfig)
|
||||
+ pkg_check_modules(spng REQUIRED spng IMPORTED_TARGET)
|
||||
+ set(SPNG_TARGET_DEFAULT PkgConfig::spng)
|
||||
+ endif()
|
||||
+ set(SPNG_TARGET ${SPNG_TARGET_DEFAULT} CACHE STRING
|
||||
+ "The imported target to use when linking libspng")
|
||||
unset(SPNG_STATIC_SOURCES)
|
||||
- set(SPNG_LIBRARY PkgConfig::spng)
|
||||
+ set(SPNG_LIBRARY ${SPNG_TARGET})
|
||||
else()
|
||||
option(WITH_SYSTEM_ZLIB
|
||||
"Build ${CMAKE_PROJECT_NAME} against the system-supplied zlib implementation rather than the implementation in the ${CMAKE_PROJECT_NAME} source tree"
|
||||
diff --git a/release/Config.cmake.in b/release/Config.cmake.in
|
||||
index 0c1ba8aa..dedc3617 100644
|
||||
--- a/release/Config.cmake.in
|
||||
+++ b/release/Config.cmake.in
|
||||
@@ -1,4 +1,24 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
+set(WITH_SYSTEM_SPNG @WITH_SYSTEM_SPNG@)
|
||||
+set(WITH_SYSTEM_ZLIB @WITH_SYSTEM_ZLIB@)
|
||||
+
|
||||
+if(WITH_SYSTEM_SPNG OR WITH_SYSTEM_ZLIB)
|
||||
+ include(CMakeFindDependencyMacro)
|
||||
+ if(WITH_SYSTEM_SPNG)
|
||||
+ set(SPNG_LIBRARY @SPNG_LIBRARY@)
|
||||
+ if(SPNG_LIBRARY MATCHES "PkgConfig::")
|
||||
+ find_dependency(PkgConfig)
|
||||
+ if(PkgConfig_FOUND)
|
||||
+ pkg_check_modules(spng REQUIRED spng IMPORTED_TARGET)
|
||||
+ endif()
|
||||
+ else()
|
||||
+ find_dependency(SPNG)
|
||||
+ endif()
|
||||
+ else()
|
||||
+ find_dependency(ZLIB)
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@Targets.cmake")
|
||||
check_required_components("@CMAKE_PROJECT_NAME@")
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
libjpeg-turbo is compatible with built-in implementation-agnostic CMake targets:
|
||||
|
||||
find_package(JPEG REQUIRED)
|
||||
target_link_libraries(main PRIVATE JPEG::JPEG)
|
||||
|
||||
libjpeg-turbo provides CMake targets for the TurboJPEG C API:
|
||||
|
||||
find_package(libjpeg-turbo CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:libjpeg-turbo::turbojpeg>,libjpeg-turbo::turbojpeg,libjpeg-turbo::turbojpeg-static>)
|
||||
libjpeg-turbo is compatible with built-in implementation-agnostic CMake targets:
|
||||
|
||||
find_package(JPEG REQUIRED)
|
||||
target_link_libraries(main PRIVATE JPEG::JPEG)
|
||||
|
||||
libjpeg-turbo provides CMake targets for the TurboJPEG C API:
|
||||
|
||||
find_package(libjpeg-turbo CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:libjpeg-turbo::turbojpeg>,libjpeg-turbo::turbojpeg,libjpeg-turbo::turbojpeg-static>)
|
||||
|
|
|
|||
|
|
@ -1,38 +1,38 @@
|
|||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0012 NEW)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
find_path(JPEG_INCLUDE_DIR NAMES jpeglib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_LIBRARY_RELEASE NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_LIBRARY_DEBUG NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12 AND CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(JPEG_LIBRARY "${JPEG_LIBRARY_DEBUG}" CACHE FILEPATH "")
|
||||
endif()
|
||||
_find_package(${ARGS})
|
||||
if(JPEG_FOUND AND NOT TARGET JPEG::JPEG)
|
||||
# Backfill JPEG::JPEG to versions of cmake before 3.12
|
||||
add_library(JPEG::JPEG UNKNOWN IMPORTED)
|
||||
if(DEFINED JPEG_INCLUDE_DIRS)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${JPEG_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY}")
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||
IMPORTED_LOCATION "${JPEG_LIBRARY}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY_RELEASE}")
|
||||
set_property(TARGET JPEG::JPEG APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
||||
IMPORTED_LOCATION_RELEASE "${JPEG_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY_DEBUG}")
|
||||
set_property(TARGET JPEG::JPEG APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS DEBUG)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
||||
IMPORTED_LOCATION_DEBUG "${JPEG_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
endif()
|
||||
cmake_policy(POP)
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0012 NEW)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
find_path(JPEG_INCLUDE_DIR NAMES jpeglib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_LIBRARY_RELEASE NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_LIBRARY_DEBUG NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12 AND CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(JPEG_LIBRARY "${JPEG_LIBRARY_DEBUG}" CACHE FILEPATH "")
|
||||
endif()
|
||||
_find_package(${ARGS})
|
||||
if(JPEG_FOUND AND NOT TARGET JPEG::JPEG)
|
||||
# Backfill JPEG::JPEG to versions of cmake before 3.12
|
||||
add_library(JPEG::JPEG UNKNOWN IMPORTED)
|
||||
if(DEFINED JPEG_INCLUDE_DIRS)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${JPEG_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY}")
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||
IMPORTED_LOCATION "${JPEG_LIBRARY}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY_RELEASE}")
|
||||
set_property(TARGET JPEG::JPEG APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
||||
IMPORTED_LOCATION_RELEASE "${JPEG_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
if(EXISTS "${JPEG_LIBRARY_DEBUG}")
|
||||
set_property(TARGET JPEG::JPEG APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS DEBUG)
|
||||
set_target_properties(JPEG::JPEG PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
||||
IMPORTED_LOCATION_DEBUG "${JPEG_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
endif()
|
||||
cmake_policy(POP)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{
|
||||
"name": "libjpeg-turbo",
|
||||
"version": "3.2.0",
|
||||
"port-version": 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.",
|
||||
"homepage": "https://libjpeg-turbo.org/",
|
||||
"license": "BSD-3-Clause",
|
||||
"license": "BSD-3-Clause AND IJG",
|
||||
"dependencies": [
|
||||
"libspng",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
|
|
@ -12,7 +14,8 @@
|
|||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
},
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"jpeg7": {
|
||||
|
|
|
|||
|
|
@ -963,6 +963,8 @@ openmvg:arm64-windows=fail
|
|||
openmvs:arm64-windows-static-md=fail # no _M_ARM64 detection
|
||||
openmvs:arm64-windows=fail # no _M_ARM64 detection
|
||||
openslide:x64-windows-release=fail # MSVC is not supported
|
||||
openslide:x64-windows-static-md=fail
|
||||
openslide:x64-windows-static=fail
|
||||
openslide:x64-windows=fail
|
||||
opensubdiv:x64-android=fail
|
||||
openvino:arm64-android=skip # conflicts with kleidiai, also incorrect use of arm64 intrinsics in <wchar.h> in VS 2022 17.13 broke these with -Zc:arm64-aliased-neon-types-
|
||||
|
|
|
|||
|
|
@ -5246,7 +5246,7 @@
|
|||
},
|
||||
"libjpeg-turbo": {
|
||||
"baseline": "3.2.0",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"libjuice": {
|
||||
"baseline": "1.7.2",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "61a22603549b0f5c4ef1e5282f8d2c51ec40f952",
|
||||
"version": "3.2.0",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "c7d2d8cbb868863a698862a0da02b4af225f3c72",
|
||||
"version": "3.2.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue