]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageBBdoc.cmake
*** empty log message ***
[bbtk.git] / kernel / cmake / BBTKCreatePackageBBdoc.cmake
1 MACRO(BBTK_CREATE_PACKAGE_BBDOC PACKAGE_NAME)
2   # Creates output dir if it does not exist
3   MKDIR(${BBTK_BBDOC_BUILD_PATH}/${PACKAGE_NAME})
4
5   # Create file make_doc_${PACKAGE_NAME}.bbs
6   SET(OUTPUT_PATH ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/appli)
7   SET(OUTPUT_FILE ${OUTPUT_PATH}/make_doc_${PACKAGE_NAME}.bbs)
8   SET(DOC_OUTPUT ${BBTK_BBDOC_BUILD_PATH}/${PACKAGE_NAME}/index.html)
9   FILE(WRITE 
10     "${OUTPUT_FILE}" 
11     "#-----------------------------------------\n"
12     "# Generates the html doc for package '${PACKAGE_NAME}'\n"
13     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_BBDOC)\n")
14   FILE(APPEND 
15     "${OUTPUT_FILE}"
16     "#-----------------------------------------\n"
17     "exec freeze\n"
18     "include ${PACKAGE_NAME}\n"
19     "include ${PACKAGE_NAME}-appli\n"
20     "#-----------------------------------------\n"
21 #    "graph ${PACKAGE_NAME} 0 0 ${DOC_OUTPUT} \"${CMAKE_CURRENT_BINARY_DIR}/header.html\" \"Package ${PACKAGE_NAME} documentation\"\n"
22     "graph ${PACKAGE_NAME} 0 0 ${DOC_OUTPUT} \"${BBTK_BBDOC_BUILD_PATH}/${BBTK_PACKAGE_NAME}/header.html\" \"Package ${PACKAGE_NAME} documentation\"\n"
23
24     )
25   INSTALL(
26     FILES ${OUTPUT_FILE}
27     DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/appli
28     )
29   
30
31   #
32   IF(WIN32)
33   
34     FIND_PATH(DOT_DIR dot.exe PATHS $ENV{PATH} )
35         # %DOT_DIR%
36     set(command00  Path=%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__${DOT_DIR}__RR__%PATH% )
37     STRING(REPLACE "__RR__" "\;" command0 ${command00} ) 
38  
39     FILE(TO_NATIVE_PATH ${EXECUTABLE_OUTPUT_PATH}/bb${BBTK_PACKAGE_NAME}.dll  pathCommand2 )    
40     set(command1 cd "${EXECUTABLE_OUTPUT_PATH}/../bbs/") 
41     set(command2 copy ${pathCommand2} . )
42     set(command3 ${BBTK_BBI} -N -q ${OUTPUT_FILE}) 
43     set(command4 del bb${BBTK_PACKAGE_NAME}.dll)
44     
45     ADD_CUSTOM_COMMAND(
46       OUTPUT ${DOC_OUTPUT}
47       COMMAND 
48       #    cd ${BBTK_BIN_PATH}/../bbs/ && ${BBTK_BBI} -n ${OUTPUT_FILE}
49       set ${command0} && ${command1} && ${command2} && ${command3} && ${command4}
50       DEPENDS bb${PACKAGE_NAME} 
51       )
52   ELSE(WIN32)
53     ADD_CUSTOM_COMMAND(
54       OUTPUT ${DOC_OUTPUT}
55       COMMAND 
56       cd ${EXECUTABLE_OUTPUT_PATH} && export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBI} -N -q ${OUTPUT_FILE} ${BBTK_MAKE_INDEX}
57       DEPENDS bb${PACKAGE_NAME} 
58       )
59   ENDIF(WIN32)
60   ADD_CUSTOM_TARGET(bbdoc_${PACKAGE_NAME} ALL
61     DEPENDS ${DOC_OUTPUT} 
62     )
63
64   INSTALL( 
65     DIRECTORY ${BBTK_BBDOC_BUILD_PATH}/${PACKAGE_NAME}
66     DESTINATION ${BBTK_BBDOC_INSTALL_PATH}
67     )   
68   
69   # runs bbtk-make-index as a post install step
70   IF(NOT BBTK_CORE_PACKAGE)
71     INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbtk-make-index)")
72   ENDIF(NOT BBTK_CORE_PACKAGE)
73
74
75   
76 ENDMACRO(BBTK_CREATE_PACKAGE_BBDOC NAME)
77