From patchwork Fri Jun 29 15:25:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yordan Karadzhov X-Patchwork-Id: 10758607 Return-Path: Received: from mail-wm0-f67.google.com ([74.125.82.67]:39786 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935222AbeF2P00 (ORCPT ); Fri, 29 Jun 2018 11:26:26 -0400 Received: by mail-wm0-f67.google.com with SMTP id p11-v6so2479090wmc.4 for ; Fri, 29 Jun 2018 08:26:26 -0700 (PDT) From: "Yordan Karadzhov (VMware)" To: rostedt@goodmis.org Cc: linux-trace-devel@vger.kernel.org, "Yordan Karadzhov (VMware)" Subject: [PATCH v3 2/9] kernel-shark-qt: Automatic generation of doxygen documentation Date: Fri, 29 Jun 2018 18:25:34 +0300 Message-Id: <20180629152541.10109-3-y.karadz@gmail.com> In-Reply-To: <20180629152541.10109-1-y.karadz@gmail.com> References: <20180629152541.10109-1-y.karadz@gmail.com> Sender: linux-trace-devel-owner@vger.kernel.org List-ID: Content-Length: 2803 A possibility for automatic generation of doxygen documentation of the KernelShark code is added to the CMake build system. In order to generate such a documentation use the "_DOXYGEN_DOC" CMake Command-Line option. example: cd build/ cmake -D_DOXYGEN_DOC=1 ../ make Signed-off-by: Yordan Karadzhov (VMware) --- kernel-shark-qt/CMakeLists.txt | 17 +++++++++++++++++ kernel-shark-qt/build/cmake_clean.sh | 2 ++ kernel-shark-qt/doc/dox_config | 15 +++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 kernel-shark-qt/doc/dox_config diff --git a/kernel-shark-qt/CMakeLists.txt b/kernel-shark-qt/CMakeLists.txt index 56fca44..9929937 100644 --- a/kernel-shark-qt/CMakeLists.txt +++ b/kernel-shark-qt/CMakeLists.txt @@ -14,6 +14,8 @@ set(KS_DIR ${CMAKE_SOURCE_DIR}) include(${KS_DIR}/build/FindTraceCmd.cmake) +find_package(Doxygen) + set(LIBRARY_OUTPUT_PATH "${KS_DIR}/lib") set(EXECUTABLE_OUTPUT_PATH "${KS_DIR}/bin") @@ -32,4 +34,19 @@ message(STATUS "Linker flags : " ${CMAKE_EXE_LINKER_FLAGS}) add_subdirectory(${KS_DIR}/src) +if (_DOXYGEN_DOC AND DOXYGEN_FOUND) + + message("\n doxygen documentation ...") + add_custom_target(doc ALL) + add_custom_command(TARGET doc + COMMAND doxygen dox_config > dox_build.log + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doc) + + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES + "${KS_DIR}/doc/dox_build.log" + "${KS_DIR}/doc/html" + "${KS_DIR}/doc/latex") + +endif () + message("") diff --git a/kernel-shark-qt/build/cmake_clean.sh b/kernel-shark-qt/build/cmake_clean.sh index ee0abbb..57c40a4 100755 --- a/kernel-shark-qt/build/cmake_clean.sh +++ b/kernel-shark-qt/build/cmake_clean.sh @@ -6,3 +6,5 @@ rm -rf CMakeFiles/ rm -rf src/ rm -f ../lib/* rm -f ../src/KsDeff.h +rm -f CMakeDoxyfile.in +rm -f CMakeDoxygenDefaults.cmake diff --git a/kernel-shark-qt/doc/dox_config b/kernel-shark-qt/doc/dox_config new file mode 100644 index 0000000..b982baa --- /dev/null +++ b/kernel-shark-qt/doc/dox_config @@ -0,0 +1,15 @@ +# For detailed description of all Doxygen Configuration Parameters see: +# http://www.doxygen.org/manual/config.html + +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "kernel-shark-qt" +PROJECT_BRIEF = "Kernel Shark is a front-end reader of the Linux kernel tracing data." +INPUT = "../src/" +SOURCE_BROWSER = YES +QT_AUTOBRIEF = YES +TAB_SIZE = 8 +OPTIMIZE_OUTPUT_FOR_C = YES +CASE_SENSE_NAMES = YES +SORT_MEMBER_DOCS = NO +STRICT_PROTO_MATCHING = YES +DOT_MULTI_TARGETS = YES