- search for libdwarf.h in new locations (e.g., /usr/include/libdwarf/) - build Bochs with -std=gnu++98 (gnu++14 is default since GCC 6.1) - specify "proto2" syntax for protobuf messages - minor build-system and C++ namespace fixes Change-Id: I16dbc622c797ef8e936fe3c0fb9b03029d27529d
36 lines
1.4 KiB
CMake
36 lines
1.4 KiB
CMake
|
|
### Setup doxygen documentation
|
|
include(CMakeParseArguments) # work around internal FindDoxygen bug
|
|
find_package(Doxygen)
|
|
if(DOXYGEN_FOUND)
|
|
# Using a .in file means we can use CMake to insert project settings
|
|
# into the doxyfile. For example, CMake will replace @PROJECT_NAME@ in
|
|
# a configured file with the CMake PROJECT_NAME variable's value.
|
|
|
|
set(FAIL_DOC_OUTPUT "${PROJECT_BINARY_DIR}/doc")
|
|
execute_process(COMMAND find "${PROJECT_SOURCE_DIR}/src/core/" -type d -printf "%p "
|
|
OUTPUT_VARIABLE FAIL_DOC_SOURCE)
|
|
set(FAIL_DOC_SOURCE "${FAIL_DOC_SOURCE} ${PROJECT_SOURCE_DIR}/src/plugins")
|
|
set(FAIL_DOC_EXCLUDE_PATTERNS "*/util/pstream.h */util/optionparser/optionparser.h")
|
|
file(MAKE_DIRECTORY ${FAIL_DOC_OUTPUT})
|
|
# FIXME: The find command does not quote the paths to be processed by doxygen. That
|
|
# means, the path to your FAIL* directory should not contain any blanks.
|
|
|
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in
|
|
${PROJECT_BINARY_DIR}/Doxyfile @ONLY
|
|
)
|
|
|
|
## call make doc to generate documentation
|
|
set(line0 "[${PROJECT_NAME}] Generating FAIL* documentation with Doxygen")
|
|
set(line1 " Directories: ${FAIL_DOC_SOURCE}")
|
|
set(line2 " Excluded patterns: ${FAIL_DOC_EXCLUDE_PATTERNS}")
|
|
add_custom_target(doc
|
|
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
|
DEPENDS ${PROJECT_BINARY_DIR}/Doxyfile
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
COMMENT "${line0}\n${line1}\n${line2}" VERBATIM
|
|
)
|
|
|
|
endif(DOXYGEN_FOUND)
|
|
|