include_directories(../)

if(AVCODEC_FOUND AND AVFORMAT_FOUND AND AVUTIL_FOUND AND SWSCALE_FOUND)
    add_library(ukuifilemetadata_ffmpegextractor MODULE
            ffmpeg-extractor.cpp
            )
    target_include_directories(ukuifilemetadata_ffmpegextractor SYSTEM PRIVATE ${AVCODEC_INCLUDE_DIRS} ${AVFORMAT_INCLUDE_DIRS} ${AVUTIL_INCLUDE_DIRS} ${SWSCALE_INCLUDE_DIRS})
    target_link_libraries(ukuifilemetadata_ffmpegextractor
            ukui-file-metadata
            ${LIBAVCODEC_LIBRARIES}
            ${LIBAVFORMAT_LIBRARIES}
            ${LIBAVUTIL_LIBRARIES}
            ${LIBSWSCALE_LIBRARIES}
            )
    set_target_properties(ukuifilemetadata_ffmpegextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
    install(
            TARGETS ukuifilemetadata_ffmpegextractor
            DESTINATION "${PLUGIN_INSTALL_DIR}")

endif()

#
#office (binary)
#

add_library(ukuifilemetadata_officeextractor MODULE office-extractor.cpp binary-parser.cpp)
target_link_libraries(ukuifilemetadata_officeextractor
        ukui-file-metadata)
set_target_properties(ukuifilemetadata_officeextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_officeextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#office2007
#

add_library(ukuifilemetadata_office2007extractor MODULE office2007-extractor.cpp)
target_link_libraries(ukuifilemetadata_office2007extractor
        ukui-file-metadata
        ${${QUAZIP_NAME}_LIBRARIES})
set_target_properties(ukuifilemetadata_office2007extractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_office2007extractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#text
#

add_library(ukuifilemetadata_textextractor MODULE text-extractor.cpp)
target_link_libraries(ukuifilemetadata_textextractor
        ukui-file-metadata
        ${UCHARDET_LIBRARIES}
        )
set_target_properties(ukuifilemetadata_textextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_textextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#pdf
#

add_library(ukuifilemetadata_pdfextractor MODULE pdf-extractor.cpp)
target_link_libraries(ukuifilemetadata_pdfextractor
        ukui-file-metadata
        ${${POPPLER_NAME}_LIBRARIES}
        )
set_target_properties(ukuifilemetadata_pdfextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_pdfextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#uof
#

add_library(ukuifilemetadata_uofextractor MODULE uof-extractor.cpp)
target_link_libraries(ukuifilemetadata_uofextractor
        ukui-file-metadata
        ${${QUAZIP_NAME}_LIBRARIES})
set_target_properties(ukuifilemetadata_uofextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_uofextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#ofd
#

add_library(ukuifilemetadata_ofdextractor MODULE ofd-extractor.cpp)
target_link_libraries(ukuifilemetadata_ofdextractor
        ukui-file-metadata
        ${${QUAZIP_NAME}_LIBRARIES})
set_target_properties(ukuifilemetadata_ofdextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_ofdextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#png
#
add_library(ukuifilemetadata_pngextractor MODULE png-extractor.cpp)
target_link_libraries(ukuifilemetadata_pngextractor
        ukui-file-metadata)
set_target_properties(ukuifilemetadata_pngextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_pngextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#taglib
#

    add_library(ukuifilemetadata_taglibextractor MODULE taglib-extractor.cpp)
    target_link_libraries( ukuifilemetadata_taglibextractor
            ukui-file-metadata
            ${TAGLIB_LIBRARIES}
    )

    set_target_properties(ukuifilemetadata_taglibextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
    install(
            TARGETS ukuifilemetadata_taglibextractor
            DESTINATION "${PLUGIN_INSTALL_DIR}")

#
#png
#
add_library(ukuifilemetadata_imageextractor MODULE image-extractor.cpp)
target_link_libraries(ukuifilemetadata_imageextractor
        ukui-file-metadata)
set_target_properties(ukuifilemetadata_imageextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/ukuifilemetadata")
install(
        TARGETS ukuifilemetadata_imageextractor
        DESTINATION "${PLUGIN_INSTALL_DIR}")