doc/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 15 Nov 2012 07:17:48 +0100
changeset 1013 f6f6896a4724
parent 966 c8fce9beb46a
child 1038 a2d142bb5d3c
child 1039 3ab825f5fab0
permissions -rw-r--r--
Ensure strongly polynomial running time for CycleCanceling (#436)
The number of iterations performed by Howard's algorithm is limited.
If the limit is reached, a strongly polynomial implementation,
HartmannOrlinMmc is executed to find a minimum mean cycle.
This iteration limit is typically not reached, thus the combined
method is practically equivalent to Howard's algorithm, while it
also ensures the strongly polynomial time bound.
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@927
     7
alpar@225
     8
CONFIGURE_FILE(
ladanyi@549
     9
  ${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
ladanyi@549
    10
  ${PROJECT_BINARY_DIR}/doc/Doxyfile
ladanyi@672
    11
  @ONLY
ladanyi@672
    12
)
alpar@225
    13
alpar@929
    14
CONFIGURE_FILE(
alpar@929
    15
  ${PROJECT_SOURCE_DIR}/doc/mainpage.dox.in
alpar@929
    16
  ${PROJECT_BINARY_DIR}/doc/mainpage.dox
alpar@929
    17
  @ONLY
alpar@929
    18
)
alpar@929
    19
alpar@983
    20
# Copy doc from source (if exists)
alpar@983
    21
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html AND 
alpar@983
    22
    NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html/index.html)
alpar@983
    23
  MESSAGE(STATUS "Copy doc from source tree")
alpar@983
    24
  EXECUTE_PROCESS(
alpar@983
    25
    COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/html ${CMAKE_CURRENT_BINARY_DIR}/html
alpar@983
    26
    )
alpar@983
    27
ENDIF()
alpar@983
    28
alpar@744
    29
IF(DOXYGEN_EXECUTABLE AND PYTHONINTERP_FOUND AND GHOSTSCRIPT_EXECUTABLE)
ladanyi@475
    30
  FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/)
ladanyi@672
    31
  SET(GHOSTSCRIPT_OPTIONS -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=pngalpha)
ladanyi@672
    32
  ADD_CUSTOM_TARGET(html
ladanyi@672
    33
    COMMAND ${CMAKE_COMMAND} -E remove_directory gen-images
ladanyi@672
    34
    COMMAND ${CMAKE_COMMAND} -E make_directory gen-images
ladanyi@672
    35
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_matching.eps
ladanyi@672
    36
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_partitions.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_partitions.eps
ladanyi@672
    37
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
ladanyi@672
    38
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/edge_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/edge_biconnected_components.eps
ladanyi@672
    39
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
alpar@865
    40
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/matching.eps
ladanyi@672
    41
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
ladanyi@672
    42
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_0.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_0.eps
ladanyi@672
    43
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_1.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_1.eps
ladanyi@672
    44
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_2.eps
ladanyi@672
    45
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_3.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_3.eps
ladanyi@672
    46
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_4.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_4.eps
kpeter@827
    47
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/planar.png ${CMAKE_CURRENT_SOURCE_DIR}/images/planar.eps
ladanyi@672
    48
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
ladanyi@672
    49
    COMMAND ${CMAKE_COMMAND} -E remove_directory html
alpar@744
    50
    COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/bib2dox.py ${CMAKE_CURRENT_SOURCE_DIR}/references.bib >references.dox
ladanyi@672
    51
    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
ladanyi@672
    52
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
ladanyi@672
    53
  )
ladanyi@672
    54
ladanyi@676
    55
  SET_TARGET_PROPERTIES(html PROPERTIES PROJECT_LABEL BUILD_DOC)
ladanyi@676
    56
alpar@225
    57
  IF(UNIX)
ladanyi@672
    58
    INSTALL(
ladanyi@672
    59
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
ladanyi@673
    60
      DESTINATION share/doc/lemon/html
ladanyi@672
    61
      COMPONENT html_documentation
ladanyi@672
    62
    )
alpar@225
    63
  ELSEIF(WIN32)
ladanyi@672
    64
    INSTALL(
ladanyi@672
    65
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
ladanyi@672
    66
      DESTINATION doc
ladanyi@672
    67
      COMPONENT html_documentation
ladanyi@672
    68
    )
ladanyi@679
    69
  ENDIF()
ladanyi@672
    70
ladanyi@679
    71
ENDIF()
alpar@927
    72
alpar@927
    73
IF(WGET_FOUND)
alpar@927
    74
ADD_CUSTOM_TARGET(update-external-tags
alpar@927
    75
  COMMAND ${CMAKE_COMMAND} -E make_directory dl
alpar@927
    76
  # COMMAND ${CMAKE_COMMAND} -E copy libstdc++.tag dl
alpar@927
    77
  COMMAND ${WGET_EXECUTABLE} wget -P dl -N libstdc++.tag.tmp http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/libstdc++.tag
alpar@927
    78
  COMMAND ${CMAKE_COMMAND} -E rename dl/libstdc++.tag libstdc++.tag
alpar@927
    79
  COMMAND ${CMAKE_COMMAND} -E remove dl/libstdc++.tag
alpar@927
    80
  COMMAND ${CMAKE_COMMAND} -E remove_directory dl
alpar@927
    81
  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
alpar@927
    82
  )
alpar@927
    83
ENDIF()