# SPDX-FileCopyrightText: 2025 Open Mobile Platform LLC <community@omp.ru>
# SPDX-License-Identifier: BSD-3-Clause

cmake_minimum_required(VERSION 3.18)
project(libjpeg_turbo-external LANGUAGES C CXX)

include(ExternalProject)

# libjpeg version choose
set(LIBJPEG_VERSION "3.0.0")
set(LIBJPEG_GIT_URL "https://gitverse.ru/auroraos/mirror_libjpeg-turbo")

set(LIBJPEG_SOURCE_SUBDIR "${CMAKE_BINARY_DIR}/libjpeg-src")
set(LIBJPEG_BUILD_SUBDIR "${CMAKE_BINARY_DIR}/libjpeg-build")
set(APPDATA_INSTALL_PATH "${CMAKE_BINARY_DIR}/installroot/usr/share/${APP_TARGET_NAME}")

ExternalProject_Add(libjpeg-bundle
    GIT_REPOSITORY ${LIBJPEG_GIT_URL}
    GIT_TAG ${LIBJPEG_VERSION}

    SOURCE_DIR ${LIBJPEG_SOURCE_SUBDIR}
    BINARY_DIR ${LIBJPEG_BUILD_SUBDIR}

    CMAKE_ARGS
        -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
        -DCMAKE_POSITION_INDEPENDENT_CODE=ON
        -DENABLE_SHARED=ON
        -DENABLE_STATIC=OFF
        -DWITH_JPEG8=ON
        -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
        -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}

    BUILD_COMMAND 
        ${CMAKE_COMMAND} --build <BINARY_DIR> -- -j${NCPU}
    INSTALL_COMMAND ""

    LOG_DOWNLOAD 1
    LOG_CONFIGURE 1
    LOG_BUILD 1
    LOG_INSTALL 1
)

add_custom_target(libjpeg-copy-so-files ALL
    DEPENDS libjpeg-bundle
    COMMAND ${CMAKE_COMMAND} -E make_directory ${APPDATA_INSTALL_PATH}/lib
    COMMAND ${CMAKE_COMMAND} -E copy ${LIBJPEG_BUILD_SUBDIR}/*.so* ${APPDATA_INSTALL_PATH}/lib/
)
