###
#
# @file          : CMakeLists.txt
#
# @description   : Project MORSE
#
# @version       :
# @created by    : Cedric Castagnede
# @creation date : 22-05-2012
# @last modified : mar. 29 mai 2012 10:35:54 CEST
#
###

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

# Get the version of the documentation
# ------------------------------------
LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules/buildsystem)
INCLUDE(BuildSystemTools)
GET_VERSION("MORSE" "../magma_morse/include/morse.h")

# Create file version.texi
# ------------------------
CONFIGURE_FILE("version.texi.in"
               "version.texi"
               @ONLY)
CONFIGURE_FILE("morse.texi.in"
               "morse.texi"
               @ONLY)

# Looking which version we can compile
# ------------------------------------
FIND_PROGRAM(MAKEINFO_COMPILER makeinfo)
FIND_PROGRAM(TEXI2DVI_COMPILER texi2dvi)
FIND_PROGRAM(TEX_COMPILER tex)
FIND_PROGRAM(DOT_COMPILER dot)

# Looking for makeinfo
# --------------------
IF(MAKEINFO_COMPILER)
    # Add target
    # ----------
    ADD_CUSTOM_COMMAND(OUTPUT  morse.info
                       COMMAND ${MAKEINFO_COMPILER}
                       ARGS    morse.texi
                       DEPENDS morse.texi.in
                      )
    ADD_CUSTOM_COMMAND(OUTPUT  morse.html
                       COMMAND ${MAKEINFO_COMPILER}
                       ARGS    --html
                               --no-split
                               --css-include=${CMAKE_CURRENT_SOURCE_DIR}/morse.css
                               morse.texi
                       DEPENDS morse.texi.in
                      )
    ADD_CUSTOM_TARGET(doc-info-morse ALL DEPENDS morse.info)
    ADD_CUSTOM_TARGET(doc-html-morse ALL DEPENDS morse.html)

    # Installation
    # ------------
    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/morse.info
            DESTINATION share/info)
    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/morse.html
            DESTINATION share/html)

ELSE(MAKEINFO_COMPILER)
    MESSAGE(STATUS "Looking for makeinfo - not found")

ENDIF(MAKEINFO_COMPILER)

# Looking for texi2dvi
# --------------------
IF(TEXI2DVI_COMPILER AND TEX_COMPILER)
    # Add target
    # ----------
    ADD_CUSTOM_COMMAND(OUTPUT  morse.pdf
                       COMMAND ${TEXI2DVI_COMPILER}
                       ARGS    --pdf
                               --batch
                               morse.texi
                       DEPENDS morse.texi.in
                      )
    ADD_CUSTOM_TARGET(doc-pdf-morse ALL DEPENDS morse.pdf)

    # Installation
    # ------------
    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/morse.pdf
            DESTINATION share/pdf)

ELSE()
    MESSAGE(STATUS "Looking for texi2dvi - not found")

ENDIF()

###
### END CMakeLists.txt
###
