# Description: Script for generating the application help in qt format.
#
#  Author: Raian Vargas Maretto <raian@dpi.inpe.br>
#          Thales Sehn Korting <tkorting@dpi.inpe.br>
#          Emiliano Ferreira Castejon <castejon@dpi.inpe.br>
#

file(WRITE
    ${CMAKE_BINARY_DIR}/config_qhelp.cmake
    "configure_file (${GEODMA_ROOT_DIR}/doc/qhelp/help.qhcp.in ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhcp @ONLY)"
)

add_custom_command(
    OUTPUT del_dir
    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/share/geodma/help/
    COMMENT "Removing QHelp directory..."
)

add_custom_command(
    OUTPUT copy_dir
    COMMAND ${CMAKE_COMMAND} -E copy_directory ${GEODMA_ROOT_DIR}/doc/qhelp/src/ ${CMAKE_BINARY_DIR}/share/geodma/help/
    DEPENDS del_dir
    COMMENT "Copying QHelp directory..."
)

add_custom_command(
    OUTPUT ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhcp
    COMMAND  ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/config_qhelp.cmake
    DEPENDS copy_dir
    COMMENT "Configuring QHelp collection file..."
)

add_custom_command(
    OUTPUT copy_icon
    COMMAND  ${CMAKE_COMMAND} -E copy ${GEODMA_ROOT_DIR}/share/icons/logo_no_name.ico ${CMAKE_BINARY_DIR}/share/geodma/help/
    DEPENDS copy_dir
    COMMENT "Copying icon file..."
)

add_custom_command(
    OUTPUT copy_icon_terralib
    COMMAND  ${CMAKE_COMMAND} -E copy ${GEODMA_ROOT_DIR}/doc/qhelp/terralib-globe.png ${CMAKE_BINARY_DIR}/share/geodma/help/
    DEPENDS copy_dir
    COMMENT "Copying icon file..."
)

add_custom_command(
    OUTPUT ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhc
    COMMAND ${QT_QCOLLECTIONGENERATOR_EXECUTABLE} ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhcp -o ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhc
    DEPENDS copy_icon_terralib ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhcp
    COMMENT "Building QHelp files ..."
)

add_custom_command(
    OUTPUT remove_files
    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/share/geodma/help/geodma/
    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/share/geodma/help/gen_icones/ 
    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/share/geodma/help/geodma.qhp
    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhcp
    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/share/geodma/logo_no_name.ico
    DEPENDS ${CMAKE_BINARY_DIR}/share/geodma/help/help.qhc
    COMMENT "Removing copied files"
)

add_custom_target(
    geodma_qhelp
    DEPENDS remove_files
    COMMENT "Generate QHelp project"
    VERBATIM
)

if(MSVC)
    add_custom_command(TARGET geodma_qhelp POST_BUILD
                       COMMAND ${CMAKE_COMMAND} -E copy_directory
                               "${CMAKE_BINARY_DIR}/share/geodma/help/"
                               "${terralib_ROOT}/built/share/terraview/help"
                       COMMENT "Copying plugin 'help files' to '${terralib_ROOT}/built/share/terraview/help'"
                       VERBATIM
        )
endif()

install(DIRECTORY ${CMAKE_BINARY_DIR}/share/geodma/help/
        DESTINATION ${TERRALIB_DESTINATION_SHARE}/help/terraview/ COMPONENT runtime)
        
if(Qt5_FOUND AND GEODMA_TRACK_3RDPARTY_DEPENDENCIES AND WIN32)

    find_program(ASSIST_PRG
               NAME assistant
               PATHS ${Qt5_DIR}/../../../bin)

    if(ASSIST_PRG)
    install (FILES ${ASSIST_PRG}
             DESTINATION ${GEODMA_DESTINATION_RUNTIME}
             PERMISSIONS OWNER_READ OWNER_EXECUTE
                         GROUP_READ GROUP_EXECUTE
                         WORLD_READ WORLD_EXECUTE
             COMPONENT runtime)
    endif()

endif()
