2024-04-23 22:33:55 +08:00
|
|
|
# Get libjpeg-turbo package
|
2025-04-11 10:21:58 +08:00
|
|
|
# Copyright (c) 2024-2025 Igara Studio S.A.
|
2024-04-23 22:33:55 +08:00
|
|
|
#
|
|
|
|
# This file is released under the terms of the MIT license.
|
|
|
|
# Read LICENSE.txt for more information.
|
|
|
|
#
|
|
|
|
# Makes the libjpeg-turbo target available.
|
|
|
|
#
|
|
|
|
|
|
|
|
if(LAF_BACKEND STREQUAL "skia")
|
|
|
|
|
|
|
|
find_library(LIBJPEG_TURBO_LIBRARY NAMES libjpeg jpeg
|
|
|
|
HINTS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
|
2025-04-11 10:21:58 +08:00
|
|
|
set(LIBJPEG_TURBO_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/libjpeg-turbo/src")
|
2024-04-23 22:33:55 +08:00
|
|
|
|
|
|
|
add_library(libjpeg-turbo STATIC IMPORTED)
|
|
|
|
set_target_properties(libjpeg-turbo PROPERTIES
|
|
|
|
IMPORTED_LOCATION "${LIBJPEG_TURBO_LIBRARY}"
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES ${LIBJPEG_TURBO_INCLUDE_DIRS})
|
|
|
|
|
|
|
|
else()
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
set(LIBJPEG_TURBO_STATIC_SUFFIX "-static")
|
|
|
|
else()
|
|
|
|
set(LIBJPEG_TURBO_STATIC_SUFFIX "")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
include(ExternalProject)
|
|
|
|
ExternalProject_Add(libjpeg-turbo-project
|
2025-04-11 10:21:58 +08:00
|
|
|
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.1.0.zip
|
|
|
|
URL_HASH SHA512=774a98dab81bef094e525687f0398efedd3f70d5e17ecbf68b4ff96cc1ffa36ba64b367c15a82c72101d02a7379a245e7102bfe757beabc3037e30fca5af42e7
|
2024-04-23 22:33:55 +08:00
|
|
|
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo"
|
|
|
|
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo"
|
|
|
|
BUILD_BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/lib/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${LIBJPEG_TURBO_STATIC_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
|
|
|
CMAKE_CACHE_ARGS
|
|
|
|
-DENABLE_SHARED:BOOL=OFF
|
|
|
|
-DENABLE_STATIC:BOOL=ON
|
|
|
|
-DWITH_ARITH_DEC:BOOL=ON
|
|
|
|
-DWITH_ARITH_ENC:BOOL=ON
|
|
|
|
-DWITH_JPEG8:BOOL=OFF
|
|
|
|
-DWITH_JPEG7:BOOL=OFF
|
|
|
|
-DWITH_TURBOJPEG:BOOL=OFF
|
|
|
|
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
|
|
|
-DCMAKE_INSTALL_LIBDIR:PATH=<INSTALL_DIR>/lib)
|
|
|
|
|
|
|
|
ExternalProject_Get_Property(libjpeg-turbo-project install_dir)
|
|
|
|
set(LIBJPEG_TURBO_INCLUDE_DIRS "${install_dir}/include")
|
|
|
|
set(LIBJPEG_TURBO_LIBRARY "${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${LIBJPEG_TURBO_STATIC_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
|
|
|
|
|
|
# Create the directory so changing INTERFACE_INCLUDE_DIRECTORIES doesn't fail
|
|
|
|
file(MAKE_DIRECTORY ${LIBJPEG_TURBO_INCLUDE_DIRS})
|
|
|
|
|
|
|
|
add_library(libjpeg-turbo STATIC IMPORTED)
|
|
|
|
set_target_properties(libjpeg-turbo PROPERTIES
|
|
|
|
IMPORTED_LOCATION ${LIBJPEG_TURBO_LIBRARY}
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES ${LIBJPEG_TURBO_INCLUDE_DIRS})
|
|
|
|
add_dependencies(libjpeg-turbo libjpeg-turbo-project)
|
|
|
|
|
|
|
|
endif()
|