1 #---------------------------------------------------------------------------
2 # If not a core package
3 # set the build doc option
4 # and include necessary cmake scripts
5 IF(NOT BBTK_CORE_PACKAGE)
7 # INCLUDE(${BBTK_DIR}/BBTKMacros.cmake)
8 # INCLUDE(${BBTK_DIR}/BBTKFindLibraries.cmake)
10 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC
11 "Build the bbtk package ${BBTK_PACKAGE_NAME} html documentation ?" OFF)
12 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
13 IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
14 SET(BUILD_bbtk_DOC_BBTK_PACKAGE ON)
16 ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
18 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC
19 "Build the bbtk package ${BBTK_PACKAGE_NAME} doxygen documentation ?" OFF)
20 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
21 IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
22 SET(BUILD_bbtk_DOC_DOXYGEN ON)
24 ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
25 ENDIF(NOT BBTK_CORE_PACKAGE)
26 #---------------------------------------------------------------------------
28 #----------------------------------------------------------------------------
32 IF(BUILD_bbtk_DOC_DOXYGEN)
38 ${PROJECT_SOURCE_DIR}/src/packages/${BBTK_PACKAGE_NAME}
41 STRING(REGEX REPLACE ";" " " DOXYGEN_INPUT "${DOXYGEN_INPUT}")
45 ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/)
48 SET(DOXYGEN_EXCLUDE "")
49 STRING(REGEX REPLACE ";" " " DOXYGEN_EXCLUDE "${DOXYGEN_EXCLUDE}")
52 SET(DOXYGEN_PROJECT_NAME "BBTK ${BBTK_PACKAGE_NAME} BBTK_PACKAGE")
54 STRING(REGEX REPLACE ";" " " DOXYGEN_DOC_PREDEFINED "${DOXYGEN_DOC_PREDEFINED}")
56 #-----------------------------------------------------------------------------
60 GET_FILENAME_COMPONENT(DOXYGEN_DOT_PATH ${DOT} PATH)
61 SET(DOXYGEN_HAVE_DOT "YES")
63 SET(DOXYGEN_DOT_PATH "")
64 SET(DOXYGEN_HAVE_DOT "NO")
67 #-----------------------------------------------------------------------------
68 # Create file and project
70 ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Doxyfile.txt
71 ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.txt
76 OUTPUT ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/html/index.html
78 ${DOXYGEN} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.txt
79 DEPENDS bb${BBTK_PACKAGE_NAME}
82 ADD_CUSTOM_TARGET(doxygen-bbtk-${BBTK_PACKAGE_NAME} ALL
83 DEPENDS ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/html/index.html
86 MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
89 ENDIF(BUILD_bbtk_DOC_DOXYGEN)
94 #----------------------------------------------------------------------------
96 #---------------------------------------------------------------------------
97 IF(BUILD_bbtk_DOC_BBTK_PACKAGE)
99 # MARK_AS_ADVANCED( bbdoc_PATH )
101 FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc/packages)
102 FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME})
106 IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
107 SET(bbdoc_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/$(IntDir)/bbdoc.exe)
108 ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
109 SET(bbdoc_EXECUTABLE $(SolutionDir)/bin/$(OutDir)/bbdoc.exe)
110 ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
112 SET(bbdoc_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/bbdoc)
115 # NEVER USE CONFIGURATION FILE BUT ALWAYS BUILD WITH THE JUST COMPILED LIBS
116 # NOT THE INSTALLED ONES !
117 # IF(-bbtk_USE_CONFIGURATION_FILE)
118 # just pass the package name, not the full path name!
119 # and pass the option '1' to bbdoc to use config file
120 # SET(bbdoc_INPUT ${BBTK_PACKAGE_NAME} 1)
121 # ELSE(-bbtk_USE_CONFIGURATION_FILE)
126 IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
127 SET(bbdoc_INPUT ${EXECUTABLE_OUTPUT_PATH}/$(IntDir)/${BBTK_PACKAGE_NAME})
128 ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
129 SET(bbdoc_INPUT $(SolutionDir)/bin/$(OutDir)/${BBTK_PACKAGE_NAME})
130 ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
132 SET(bbdoc_INPUT ${LIBRARY_OUTPUT_PATH}/${BBTK_PACKAGE_NAME})
134 # ENDIF(-bbtk_USE_CONFIGURATION_FILE)
138 OUTPUT ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html
140 ${bbdoc_EXECUTABLE} ${bbdoc_INPUT} ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html
142 bb${BBTK_PACKAGE_NAME}
146 ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.html ALL
147 DEPENDS ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html)
149 ENDIF(BUILD_bbtk_DOC_BBTK_PACKAGE)