cmake_minimum_required(VERSION 2.6)

find_package(Qt3 REQUIRED)
find_package(KDE3 REQUIRED)

add_definitions(${QT_DEFINITIONS} ${KDE3_DEFINITIONS})

SET(manFolder share/man/man1)
SET(docFolder share/doc/HTML/en/kst)

FIND_PROGRAM(MEINPROC_PATH meinproc)

IF (MEINPROC_PATH)
  ADD_CUSTOM_COMMAND(
    PRE_BUILD 
    OUTPUT index.cache.bz2 
    COMMAND meinproc --check --cache index.cache.bz2 ./index.docbook
  )

  ADD_CUSTOM_TARGET("bz2" ALL DEPENDS index.cache.bz2)

  FIND_PATH(KDE_HTML_COMMON_PATH kde.css PATHS ${KDE3PREFIX}/share/doc/HTML/en/common)
  IF (KDE_HTML_COMMON_PATH)
    ADD_CUSTOM_COMMAND(OUTPUT  "common"
                       COMMAND /bin/ln
                       ARGS -s "${KDE3PREFIX}/share/doc/HTML/en/common" "common")

    ADD_CUSTOM_TARGET("ln" ALL DEPENDS common)
  ENDIF (KDE_HTML_COMMON_PATH)

  FIND_PATH(KDE_CHUNK_PATH kde-chunk.xsl PATHS ${KDE3PREFIX}/share/apps/ksgmltools2/customization)
  IF (KDE_CHUNK_PATH)
    ADD_CUSTOM_COMMAND(
      PRE_BUILD 
      OUTPUT index.htm 
      COMMAND meinproc index.docbook --stylesheet ${KDE3PREFIX}/share/apps/ksgmltools2/customization/kde-chunk.xsl
    )

    ADD_CUSTOM_TARGET("htm" ALL DEPENDS index.htm)
  ELSE (KDE_CHUNK_PATH)
    message(STATUS "---- Please install ksgmltools2 to build the html files.")
  ENDIF (KDE_CHUNK_PATH)

  FIND_PATH(DOCBOOK_PATH docbook.xsl PATHS ${KDE3PREFIX}/share/apps/ksgmltools2/docbook/xsl/manpages/)
  IF (DOCBOOK_PATH)
    ADD_CUSTOM_COMMAND(
      PRE_BUILD 
      OUTPUT kst.1.gz
      COMMAND meinproc index.docbook --stylesheet ${KDE3PREFIX}/share/apps/ksgmltools2/docbook/xsl/manpages/docbook.xsl
      COMMAND gzip -f kst.1
    )

    ADD_CUSTOM_TARGET("man" ALL DEPENDS kst.1.gz)
  ELSE (DOCBOOK_PATH)
    message(STATUS "---- Please install ksgmltools2 to build the man page.")
  ENDIF (DOCBOOK_PATH)
ELSE (MEINPROC_PATH)
  message(STATUS "---- Please install meinproc to build the man page and html files.")
ENDIF (MEINPROC_PATH)

FIND_PROGRAM(DBLATEX_PATH dblatex)
IF (DBLATEX_PATH)
  FIND_PROGRAM(PDFTEX_PATH pdftex)
  IF (PDFTEX_PATH)
    SET(CATALOG_PATH $ENV{SGML_CATALOG_FILES})

    IF (CATALOG_PATH)
      ADD_CUSTOM_COMMAND(
        PRE_BUILD 
        OUTPUT KstHandbook.pdf 
        COMMAND dblatex -b pdftex -o KstHandbook.pdf -P latex.output.revhistory=0  -P newtbl.use=1 -P imagedata.default.scale=pagebound -P literal.width.ignore=1 -I ${KDEDIR}/share/doc/HTML/en/ -X index.docbook
      )

      ADD_CUSTOM_TARGET("pdf" ALL DEPENDS KstHandbook.pdf)
    ELSE (CATALOG_PATH)
      message(STATUS "---- Please set the value of SGML_CATALOG_FILES to build the pdf file.")
    ENDIF (CATALOG_PATH)
  ELSE (PDFTEX_PATH)
    message(STATUS "---- Please install pdftex to build the pdf file.")
  ENDIF (PDFTEX_PATH)
ELSE (DBLATEX_PATH)
  message(STATUS "---- Please install dblatex to build the pdf file.")
ENDIF (DBLATEX_PATH)

########### install files ###############

file(GLOB pngfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
#install(FILES ${pngfiles} DESTINATION ${docFolder})

file(GLOB docbookfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.docbook")
#install(FILES ${docbookfiles} DESTINATION ${docFolder})

install(FILES "index.cache.bz2" DESTINATION ${docFolder})

install(FILES "kst.1.gz" DESTINATION ${manFolder})

IF (KDE_HTML_COMMON_PATH)
  install(DIRECTORY "common" DESTINATION "${CMAKE_INSTALL_PREFIX}/${docFolder}")
ENDIF (KDE_HTML_COMMON_PATH)

