doc/CMakeLists.txt
author Alpar Juttner <alpar@cs.elte.hu>
Wed, 06 May 2015 11:28:38 +0200
changeset 1137 ca4e4a5e9b6e
parent 1053 1c978b5bcc65
permissions -rw-r--r--
CMP0026 cmake policy setting (needed by cmake 3.2+ on WIN32)
alpar@225
     1
SET(PACKAGE_NAME ${PROJECT_NAME})
alpar@225
     2
SET(PACKAGE_VERSION ${PROJECT_VERSION})
ladanyi@549
     3
SET(abs_top_srcdir ${PROJECT_SOURCE_DIR})
ladanyi@549
     4
SET(abs_top_builddir ${PROJECT_BINARY_DIR})
alpar@225
     5
alpar@927
     6
SET(LEMON_DOC_SOURCE_BROWSER "NO" CACHE STRING "Include source into the doc (YES/NO).")
alpar@1040
     7
SET(LEMON_DOC_USE_MATHJAX "NO" CACHE STRING "Use MathJax to display math formulae (YES/NO).")
alpar@1040
     8
SET(LEMON_DOC_MATHJAX_RELPATH "http://www.mathjax.org/mathjax" CACHE STRING "MathJax library location.")
alpar@927
     9
alpar@1075
    10
SET(LEMON_DOC_LIBSTDC++_URL
alpar@1075
    11
  "http://gcc.gnu.org/onlinedocs/gcc-4.7.3/libstdc++/api"
alpar@1075
    12
  CACHE STRING "GCC libstdc++ doxygen doc url.")
alpar@1075
    13
alpar@1075
    14
alpar@225
    15
CONFIGURE_FILE(
ladanyi@549
    16
  ${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
ladanyi@549
    17
  ${PROJECT_BINARY_DIR}/doc/Doxyfile
ladanyi@672
    18
  @ONLY
ladanyi@672
    19
)
alpar@225
    20
alpar@929
    21
CONFIGURE_FILE(
alpar@929
    22
  ${PROJECT_SOURCE_DIR}/doc/mainpage.dox.in
alpar@929
    23
  ${PROJECT_BINARY_DIR}/doc/mainpage.dox
alpar@929
    24
  @ONLY
alpar@929
    25
)
alpar@929
    26
alpar@983
    27
# Copy doc from source (if exists)
alpar@983
    28
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html AND 
alpar@983
    29
    NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html/index.html)
alpar@983
    30
  MESSAGE(STATUS "Copy doc from source tree")
alpar@983
    31
  EXECUTE_PROCESS(
alpar@983
    32
    COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/html ${CMAKE_CURRENT_BINARY_DIR}/html
alpar@983
    33
    )
alpar@983
    34
ENDIF()
alpar@983
    35
alpar@744
    36
IF(DOXYGEN_EXECUTABLE AND PYTHONINTERP_FOUND AND GHOSTSCRIPT_EXECUTABLE)
ladanyi@475
    37
  FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/)
ladanyi@672
    38
  SET(GHOSTSCRIPT_OPTIONS -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=pngalpha)
ladanyi@672
    39
  ADD_CUSTOM_TARGET(html
ladanyi@672
    40
    COMMAND ${CMAKE_COMMAND} -E remove_directory gen-images
ladanyi@672
    41
    COMMAND ${CMAKE_COMMAND} -E make_directory gen-images
kpeter@1046
    42
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r20 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
kpeter@1050
    43
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/adaptors2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/adaptors2.eps
kpeter@1046
    44
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
kpeter@1046
    45
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
kpeter@1046
    46
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
kpeter@1046
    47
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/edge_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/edge_biconnected_components.eps
kpeter@1046
    48
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/bipartite_partitions.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_partitions.eps
kpeter@1046
    49
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/matching.eps
kpeter@1046
    50
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/bipartite_matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_matching.eps
kpeter@1046
    51
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r40 -sOutputFile=gen-images/planar.png ${CMAKE_CURRENT_SOURCE_DIR}/images/planar.eps
kpeter@1046
    52
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/tsp.png ${CMAKE_CURRENT_SOURCE_DIR}/images/tsp.eps
kpeter@1046
    53
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_0.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_0.eps
kpeter@1046
    54
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_1.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_1.eps
kpeter@1046
    55
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_2.eps
kpeter@1046
    56
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_3.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_3.eps
kpeter@1046
    57
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_4.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_4.eps
ladanyi@672
    58
    COMMAND ${CMAKE_COMMAND} -E remove_directory html
ladanyi@672
    59
    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
ladanyi@672
    60
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
ladanyi@672
    61
  )
ladanyi@672
    62
ladanyi@676
    63
  SET_TARGET_PROPERTIES(html PROPERTIES PROJECT_LABEL BUILD_DOC)
ladanyi@676
    64
alpar@225
    65
  IF(UNIX)
ladanyi@672
    66
    INSTALL(
ladanyi@672
    67
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
ladanyi@673
    68
      DESTINATION share/doc/lemon/html
ladanyi@672
    69
      COMPONENT html_documentation
ladanyi@672
    70
    )
alpar@225
    71
  ELSEIF(WIN32)
ladanyi@672
    72
    INSTALL(
ladanyi@672
    73
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
ladanyi@672
    74
      DESTINATION doc
ladanyi@672
    75
      COMPONENT html_documentation
ladanyi@672
    76
    )
ladanyi@679
    77
  ENDIF()
ladanyi@672
    78
ladanyi@679
    79
ENDIF()
alpar@927
    80
alpar@927
    81
IF(WGET_FOUND)
alpar@927
    82
ADD_CUSTOM_TARGET(update-external-tags
alpar@1075
    83
  COMMAND ${WGET_EXECUTABLE} -N ${LEMON_DOC_LIBSTDC++_URL}/libstdc++.tag
alpar@927
    84
  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
alpar@927
    85
  )
alpar@927
    86
ENDIF()