cmake_minimum_required(VERSION 3.31)

project(libPDFToImage VERSION 1.1.2 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(
        pdfium/include
        libjpeg-turbo/include
        libpng/include
    )

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

    add_library(PDFToImage SHARED
            specific_os.cpp
            read_pdf.cpp
            save_image.cpp
    )

    target_link_libraries(PDFToImage PRIVATE
            libpdfium.dll
            libjpeg-8.dll
            libpng16-16.dll
    )
else()
    find_package(JPEG REQUIRED)
    find_package(PNG REQUIRED)

    include_directories(
        pdfium/include
    )

    link_directories(
        pdfium/lib
    )

    add_library(PDFToImage SHARED
            read_pdf.cpp
            save_image.cpp
    )

    target_link_libraries(PDFToImage PRIVATE
            libpdfium.so
            JPEG::JPEG
            PNG::PNG
    )
endif()

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

target_link_libraries(pdfToImage PRIVATE
    PDFToImage
)
