머릿말

doxygen을 사용하면, 프로젝트의 전반적인 내용을 파악할 수 있는 document가 자동 생성된다.

doxygen을 오랜만에 사용해보고, 게다가 c/c++ 프로젝트가 아닌 python project에 사용해보는건 처음이라 그 과정을 적어본다.

전체 과정은 https://www.stack.nl/~dimitri/doxygen/manual/starting.html 이곳을 참조했다


독시젠 설치

먼저 doxygen을 설치하자, 


CentOS면 sudo yum install doxygen

Ubuntu면 sudo apt-get install doxygen

macOS면 brew install doxygen

이런식으로 간단하게 설치가 가능하다.


독시젠 configuration

독세젠을 돌리려면 먼저 configuration file을 만들어야 한다.


doxygen -g 라고 하면 Doxyfile 이라는 configuration 파일이 만들어진다. (에디터로 열어서 수정 가능하다)


주의할점: Doxyfile을 열어서 EXTRACT_ALL = NO를 YES로 변경해야 결과가 제대로 나온다.

(If the EXTRACT_ALL option is set to NO in the configuration file (the default), then doxygen will only generate documentation for documentedentities.)


독시젠 돌리기

간단하게

doxygen 이라고만 하면 자동으로 결과가 생성된다.


독시젠 생성 결과물 보기

html/index.html을 열어보면 결과를 확인할 수 있다.


여기까지만 해도 좋지만, graphviz를 설치하여 call graph를 추가하고, 여러가지 추가 옵션을 줘보자.


결과에 call graph 추가




위와 같은 call graph를 결과물에 포함시키기 위해서는, 먼저 graphviz라는 툴을 설치해야한다.

macOS의 경우 brew install graphviz로 설치 가능하다.


그다음 Doxyfile을 다시 열어서 아래 내용을 수정해준다.


-그래프 설정
CALL_GRAPH             = YES
CALLER_GRAPH           = YES


- Graphviz 바이너리 위치 설정
DOT_PATH               = /usr/bin/graphml2gv
HAVE_DOT               = YES

(위 graphml2gv 경로설정은 which graphml2gv 명령어를 통해서 확인한 다음에 넣으면 된다.)

- 클래스 상속 구조 포함
CLASS_DIAGRAMS          = YES

- 그래프를 text가 아니라 그래픽 버전으로 보여줌
GRAPHICAL_HIERARCHY     = YES 


- 대상 폴더의 하위 폴더도 대상으로 지정
RECURSIVE              = YES

- 생성되는 doc 파일이 많아지므로 하위폴더 생성
CREATE_SUBDIRS         = YES

- 문서에 구현 소스도 포함
INLINE_SOURCES         = YES

- 문서에 소스파일 추가 (Files에서 조회 가능)
SOURCE_BROWSER         = YES


(위 내용은 http://heavensbus.blogspot.kr/2014/07/doxygen-call-caller.html 이곳을 참조했습니다.)


반응형

'Programming > Python' 카테고리의 다른 글

Anaconda & Jupyter  (0) 2018.03.23
python numpy  (0) 2018.02.28
python virtualenv 가상환경  (0) 2017.11.16
python import  (0) 2017.11.14
python 시간관련 함수  (0) 2017.10.31

+ Recent posts