cmake_minimum_required(VERSION 3.31)

project(libImageToPDF VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)

if(WIN32)
    include_directories(
        libjpeg-turbo/include
        libpng/include
        zlib/include
    )

    link_directories(
        libjpeg-turbo/lib
        libpng/lib
        zlib/lib
    )

    add_library(ImageToPDF SHARED
        handle_image.cpp
        save_pdf.cpp
        specific_os.cpp
        calculator.cpp
    )

    target_link_libraries(ImageToPDF PRIVATE
        libjpeg-8.dll
        libpng16-16.dll
        zlib1.dll
    )
else()
    find_package(JPEG REQUIRED)
    find_package(PNG REQUIRED)
    find_package(ZLIB REQUIRED)

    add_library(ImageToPDF SHARED
        handle_image.cpp
        save_pdf.cpp
        calculator.cpp
    )

    target_link_libraries(ImageToPDF PRIVATE
        JPEG::JPEG
        PNG::PNG
        ZLIB::ZLIB
    )
endif()

add_executable(imageToPDF
    main.cpp
    options.cpp
    help.cpp
)

target_link_libraries(imageToPDF PRIVATE
    ImageToPDF
)

