cmake_minimum_required(VERSION 3.31)

project(libPDFToImage VERSION 1.0.3 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
    )
else()
    find_package(JPEG REQUIRED)
    find_package(PNG REQUIRED)

    include_directories(
        pdfium/include
    )

    link_directories(
        pdfium/lib
    )
endif()

add_library(PDFToImage SHARED
    read.cpp
    save.cpp
)

if(WIN32)
    target_link_libraries(PDFToImage PRIVATE
        libpdfium.dll
        libjpeg-8.dll
        libpng16-16.dll
    )
else()
    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
)
