[DO-983][DO-985] add tiff and zstd packages (!14)

Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
Reviewed-on: https://git.avroid.tech/Conan/conan_build/pulls/14
This commit is contained in:
Aleksandr Vodyanov
2024-12-26 16:03:17 +03:00
parent 70e3dea3f3
commit 60445ac09e
55 changed files with 1662 additions and 86 deletions

View File

@@ -0,0 +1,91 @@
--- a/cmake/DeflateCodec.cmake
+++ b/cmake/DeflateCodec.cmake
@@ -35,7 +35,10 @@ set(ZIP_SUPPORT ${ZLIB_SUPPORT})
# libdeflate
set(LIBDEFLATE_SUPPORT FALSE)
-find_package(Deflate)
+find_package(libdeflate CONFIG)
+if(libdeflate_FOUND)
+ set(Deflate_FOUND TRUE)
+endif()
option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ${Deflate_FOUND})
if (libdeflate AND Deflate_FOUND AND ZIP_SUPPORT)
set(LIBDEFLATE_SUPPORT TRUE)
--- a/cmake/JBIGCodec.cmake
+++ b/cmake/JBIGCodec.cmake
@@ -27,14 +27,17 @@
# JBIG-KIT
set(JBIG_SUPPORT FALSE)
-find_package(JBIG)
+find_package(jbig CONFIG)
+if(jbig_FOUND)
+ set(JBIG_FOUND TRUE)
+endif()
if(JBIG_FOUND)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARIES})
- check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN)
+ set(HAVE_JBG_NEWLEN TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
endif()
--- a/cmake/ZSTDCodec.cmake
+++ b/cmake/ZSTDCodec.cmake
@@ -28,14 +28,17 @@
set(ZSTD_SUPPORT FALSE)
set(ZSTD_USABLE FALSE)
-find_package(ZSTD)
+find_package(zstd CONFIG)
+if(zstd_FOUND)
+ set(ZSTD_FOUND TRUE)
+endif()
if(ZSTD_FOUND)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES})
- check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_RECENT_ENOUGH)
+ set(ZSTD_RECENT_ENOUGH TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -110,7 +110,7 @@ if(ZIP_SUPPORT)
target_link_libraries(tiff PRIVATE ZLIB::ZLIB)
endif()
if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
- target_link_libraries(tiff PRIVATE Deflate::Deflate)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:libdeflate::libdeflate>,libdeflate::libdeflate,libdeflate::libdeflate_static>)
endif()
if(JPEG_SUPPORT)
target_link_libraries(tiff PRIVATE JPEG::JPEG)
@@ -120,7 +120,7 @@ if(JPEG_SUPPORT)
endif()
endif()
if(JBIG_SUPPORT)
- target_link_libraries(tiff PRIVATE JBIG::JBIG)
+ target_link_libraries(tiff PRIVATE jbig::jbig)
endif()
if(LERC_SUPPORT)
target_link_libraries(tiff PRIVATE LERC::LERC)
@@ -129,10 +129,10 @@ if(LZMA_SUPPORT)
target_link_libraries(tiff PRIVATE LibLZMA::LibLZMA)
endif()
if(ZSTD_SUPPORT)
- target_link_libraries(tiff PRIVATE ZSTD::ZSTD)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
endif()
if(WEBP_SUPPORT)
- target_link_libraries(tiff PRIVATE WebP::WebP)
+ target_link_libraries(tiff PRIVATE WebP::webp)
endif()
target_link_libraries(tiff PRIVATE CMath::CMath)

View File

@@ -0,0 +1,92 @@
--- a/cmake/DeflateCodec.cmake
+++ b/cmake/DeflateCodec.cmake
@@ -35,7 +35,10 @@ set(ZIP_SUPPORT ${ZLIB_SUPPORT})
# libdeflate
set(LIBDEFLATE_SUPPORT FALSE)
-find_package(Deflate)
+find_package(libdeflate CONFIG)
+if(libdeflate_FOUND)
+ set(Deflate_FOUND TRUE)
+endif()
option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ${Deflate_FOUND})
if (libdeflate AND Deflate_FOUND AND ZIP_SUPPORT)
set(LIBDEFLATE_SUPPORT TRUE)
--- a/cmake/JBIGCodec.cmake
+++ b/cmake/JBIGCodec.cmake
@@ -27,14 +27,17 @@
# JBIG-KIT
set(JBIG_SUPPORT FALSE)
-find_package(JBIG)
+find_package(jbig CONFIG)
+if(jbig_FOUND)
+ set(JBIG_FOUND TRUE)
+endif()
if(JBIG_FOUND)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARIES})
- check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN)
+ set(HAVE_JBG_NEWLEN TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
endif()
--- a/cmake/ZSTDCodec.cmake
+++ b/cmake/ZSTDCodec.cmake
@@ -28,14 +28,17 @@
set(ZSTD_SUPPORT FALSE)
set(ZSTD_USABLE FALSE)
-find_package(ZSTD)
+find_package(zstd CONFIG)
+if(zstd_FOUND)
+ set(ZSTD_FOUND TRUE)
+endif()
if(ZSTD_FOUND)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES})
- check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_RECENT_ENOUGH)
+ set(ZSTD_RECENT_ENOUGH TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -114,7 +114,7 @@ if(ZIP_SUPPORT)
string(APPEND tiff_requires_private " zlib")
endif()
if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
- target_link_libraries(tiff PRIVATE Deflate::Deflate)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:libdeflate::libdeflate>,libdeflate::libdeflate,libdeflate::libdeflate_static>)
list(APPEND tiff_libs_private_list "${Deflate_LIBRARY}")
endif()
if(JPEG_SUPPORT)
@@ -126,7 +126,7 @@ if(JPEG_SUPPORT)
endif()
endif()
if(JBIG_SUPPORT)
- target_link_libraries(tiff PRIVATE JBIG::JBIG)
+ target_link_libraries(tiff PRIVATE jbig::jbig)
list(APPEND tiff_libs_private_list "${JBIG_LIBRARY}")
endif()
if(LERC_SUPPORT)
@@ -141,11 +141,11 @@ if(LZMA_SUPPORT)
string(APPEND tiff_requires_private " liblzma")
endif()
if(ZSTD_SUPPORT)
- target_link_libraries(tiff PRIVATE ZSTD::ZSTD)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
string(APPEND tiff_requires_private " libzstd")
endif()
if(WEBP_SUPPORT)
- target_link_libraries(tiff PRIVATE WebP::WebP)
+ target_link_libraries(tiff PRIVATE WebP::webp)
string(APPEND tiff_requires_private " libwebp")
endif()
target_link_libraries(tiff PRIVATE CMath::CMath)

View File

@@ -0,0 +1,116 @@
--- a/cmake/DeflateCodec.cmake
+++ b/cmake/DeflateCodec.cmake
@@ -35,7 +35,10 @@ set(LIBDEFLATE_SUPPORT FALSE)
# libdeflate
set(LIBDEFLATE_SUPPORT FALSE)
-find_package(Deflate)
+find_package(libdeflate CONFIG)
+if(libdeflate_FOUND)
+ set(Deflate_FOUND TRUE)
+endif()
option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ${Deflate_FOUND})
if (libdeflate AND Deflate_FOUND AND ZIP_SUPPORT)
set(LIBDEFLATE_SUPPORT TRUE)
--- a/cmake/JBIGCodec.cmake
+++ b/cmake/JBIGCodec.cmake
@@ -27,14 +27,17 @@ set(JBIG_SUPPORT FALSE)
# JBIG-KIT
set(JBIG_SUPPORT FALSE)
-find_package(JBIG)
+find_package(jbig CONFIG)
+if(jbig_FOUND)
+ set(JBIG_FOUND TRUE)
+endif()
if(JBIG_FOUND)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARIES})
- check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN)
+ set(HAVE_JBG_NEWLEN TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
endif()
--- a/cmake/JPEGCodec.cmake
+++ b/cmake/JPEGCodec.cmake
@@ -47,19 +47,7 @@
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_INCLUDES "${JPEG_INCLUDE_DIRS}")
set(CMAKE_REQUIRED_LIBRARIES "${JPEG_LIBRARIES}")
- check_c_source_compiles(
- "
- #include <stddef.h>
- #include <stdio.h>
- #include \"jpeglib.h\"
- int main()
- {
- jpeg_read_scanlines(0,0,0);
- jpeg12_read_scanlines(0,0,0);
- return 0;
- }
- "
- HAVE_JPEGTURBO_DUAL_MODE_8_12)
+ set(HAVE_JPEGTURBO_DUAL_MODE_8_12 FALSE)
cmake_pop_check_state()
endif()
--- a/cmake/ZSTDCodec.cmake
+++ b/cmake/ZSTDCodec.cmake
@@ -28,7 +28,10 @@ set(ZSTD_USABLE FALSE)
set(ZSTD_SUPPORT FALSE)
set(ZSTD_USABLE FALSE)
-find_package(ZSTD)
+find_package(zstd CONFIG)
+if(zstd_FOUND)
+ set(ZSTD_FOUND TRUE)
+endif()
if(ZSTD_FOUND)
if(NOT DEFINED ZSTD_HAVE_DECOMPRESS_STREAM)
@@ -36,7 +39,7 @@ if(ZSTD_FOUND)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES})
- check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_HAVE_DECOMPRESS_STREAM)
+ set(ZSTD_HAVE_DECOMPRESS_STREAM TRUE)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
endif()
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -116,7 +116,7 @@ if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
string(APPEND tiff_requires_private " zlib")
endif()
if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
- target_link_libraries(tiff PRIVATE Deflate::Deflate)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:libdeflate::libdeflate>,libdeflate::libdeflate,libdeflate::libdeflate_static>)
list(APPEND tiff_libs_private_list "${Deflate_LIBRARY}")
endif()
if(JPEG_SUPPORT)
@@ -130,7 +130,7 @@ if(JBIG_SUPPORT)
endif()
endif()
if(JBIG_SUPPORT)
- target_link_libraries(tiff PRIVATE JBIG::JBIG)
+ target_link_libraries(tiff PRIVATE jbig::jbig)
list(APPEND tiff_libs_private_list "${JBIG_LIBRARY}")
endif()
if(LERC_SUPPORT)
@@ -145,11 +145,11 @@ if(ZSTD_SUPPORT)
string(APPEND tiff_requires_private " liblzma")
endif()
if(ZSTD_SUPPORT)
- target_link_libraries(tiff PRIVATE ZSTD::ZSTD)
+ target_link_libraries(tiff PRIVATE $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
string(APPEND tiff_requires_private " libzstd")
endif()
if(WEBP_SUPPORT)
- target_link_libraries(tiff PRIVATE WebP::WebP)
+ target_link_libraries(tiff PRIVATE WebP::webp)
string(APPEND tiff_requires_private " libwebp")
endif()
if(CMath_LIBRARY)

View File

@@ -0,0 +1,31 @@
diff --git a/cmake/JPEGCodec.cmake b/cmake/JPEGCodec.cmake
index 8455a3ec..09fe975a 100644
--- a/cmake/JPEGCodec.cmake
+++ b/cmake/JPEGCodec.cmake
@@ -42,25 +42,7 @@ endif()
if (JPEG_SUPPORT)
# Check for jpeg12_read_scanlines() which has been added in libjpeg-turbo 2.2
# for dual 8/12 bit mode.
- include(CheckCSourceCompiles)
- include(CMakePushCheckState)
- cmake_push_check_state(RESET)
- set(CMAKE_REQUIRED_INCLUDES "${JPEG_INCLUDE_DIRS}")
- set(CMAKE_REQUIRED_LIBRARIES "${JPEG_LIBRARIES}")
- check_c_source_compiles(
- "
- #include <stddef.h>
- #include <stdio.h>
- #include \"jpeglib.h\"
- int main()
- {
- jpeg_read_scanlines(0,0,0);
- jpeg12_read_scanlines(0,0,0);
- return 0;
- }
- "
- HAVE_JPEGTURBO_DUAL_MODE_8_12)
- cmake_pop_check_state()
+ set(HAVE_JPEGTURBO_DUAL_MODE_8_12 FALSE)
endif()
if (NOT HAVE_JPEGTURBO_DUAL_MODE_8_12)