8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CMakeをつかったmake時にdoxygenが実行されるような方法

Last updated at Posted at 2015-07-08

#はじめに

CMakeの設定ファイルCMakeLists.txtにdoxygen関連の記述をする方法について述べます.まとめると以下の2点です.

  • make時にコンパイルと一緒にdoxygenを実行できる
  • CMakeLists.txtに書かれたバージョン番号をdoxygenの設定ファイル(Doxyfile など.以下ではdoxygen.conf)に書くことができる.いちいち設定ファイルにあるバージョン番号をいじる必要がない.

#必要なもの

Windows, Macの両方でできたことを確認しています.

参考資料

ファイル

必要なことは,以下の3つです.

  • CMakeLists.txtで定義した変数を埋め込んだ設定ファイルdoxygen.conf.inを用意する.
  • CMakeLists.txtに,(1)doxygen.conf.inからdoxygen.confを生成する,(2)doxygenを実行する,(3)インストール先を指定する記述を追加する.
  • (オプション) doxygenがない場合の処理を追加する.
docs/CMakeLists.txt
FIND_PACKAGE(Doxygen)
IF(DOXYGEN_FOUND)
        SET(DOXYGEN_CONF_FILE "doxygen.conf")
        SET(DOXYGEN_CONF_PATH   ${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_CONF_FILE})
        SET(DOXYGEN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
        SET(DOXYGEN_TARGET "doc" )

        CONFIGURE_FILE(${DOXYGEN_CONF_FILE}.in ${DOXYGEN_CONF_PATH})

        ADD_CUSTOM_TARGET(${DOXYGEN_TARGET}
                        ${DOXYGEN_EXECUTABLE} ${DOXYGEN_CONF_PATH}
                        DEPENDS  ${DOXYGEN_CONF_PATH})
 # この設定だと Macでmake docしなかった場合に,make installしたらエラーが出るので,コメントアウトして保留 (15/07/09)
 #       IF (WIN32)
 #               # to do .
 #       ELSE()
 #               INSTALL( DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/"
 #                        DESTINATION "/usr/local/share/doc/${PROJECT_NAME}-${VERSION_STRING}" )
 #       ENDIF (WIN32)
ELSE(DOXYGEN_FOUND)
#ない場合は,warningを出す.
        MESSAGE (WARNING "doxygen binary couldn't be found")
ENDIF(DOXYGEN_FOUND)

# to do とかいてある部分は,Windowsでインストールする際に,どこにおけばいいかわからなかったので空欄にしています.

doxygen.conf.in
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = @PROJECT_NAME@
PROJECT_NUMBER         = @VERSION_STRING@
(以下省略)

@PROJECT_NAME@@VERSION_STRING@は ルートのCMakeLists.txtで定義済みの変数です.

以上の設定で,cmake ..  とでもやると,doxygen.confが作成されて,make doc でdoxygen が走ります.Windowsでもちゃんとできたのが嬉しいです,

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?