]> 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     IF(NOT DOT_DIR)
36                 MESSAGE(FATAL_ERROR "DOT NOT FOUND")
37     ENDIF(NOT DOT_DIR)
38         # %DOT_DIR%
39     set(command00  Path=%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__${DOT_DIR}__RR__%PATH% )
40     STRING(REPLACE "__RR__" "\;" command0 ${command00} ) 
41  
42     FILE(TO_NATIVE_PATH ${EXECUTABLE_OUTPUT_PATH}/bb${BBTK_PACKAGE_NAME}.dll  pathCommand2 )    
43     set(command1 cd "${EXECUTABLE_OUTPUT_PATH}/../bbs/") 
44     set(command2 copy ${pathCommand2} . )
45     set(command3 ${BBTK_BBI} -N -q ${OUTPUT_FILE}) 
46     set(command4 del bb${BBTK_PACKAGE_NAME}.dll)
47     
48     ADD_CUSTOM_COMMAND(
49       OUTPUT ${DOC_OUTPUT}
50       COMMAND 
51       #    cd ${BBTK_BIN_PATH}/../bbs/ && ${BBTK_BBI} -n ${OUTPUT_FILE}
52       set ${command0} && ${command1} && ${command2} && ${command3} && ${command4}
53       DEPENDS bb${PACKAGE_NAME} 
54       )
55   ELSE(WIN32)
56     SET(LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}")
57     ADD_CUSTOM_COMMAND(
58       OUTPUT ${DOC_OUTPUT}
59       COMMAND 
60       cd ${EXECUTABLE_OUTPUT_PATH} && export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBI} -N -q ${OUTPUT_FILE} ${BBTK_MAKE_INDEX}
61       DEPENDS bb${PACKAGE_NAME} 
62       )
63   ENDIF(WIN32)
64   ADD_CUSTOM_TARGET(bbdoc_${PACKAGE_NAME} ALL
65     DEPENDS ${DOC_OUTPUT} 
66     )
67
68   INSTALL( 
69     DIRECTORY ${BBTK_BBDOC_BUILD_PATH}/${PACKAGE_NAME}
70     DESTINATION ${BBTK_BBDOC_INSTALL_PATH}
71     )   
72   
73   # runs bbtk-make-index as a post install step
74   IF(NOT BBTK_CORE_PACKAGE)
75     INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbtk-make-index)")
76   ENDIF(NOT BBTK_CORE_PACKAGE)
77
78
79   
80 ENDMACRO(BBTK_CREATE_PACKAGE_BBDOC NAME)
81