現在、Doxygen ドキュメントを自動的に生成するように CMake をセットアップしようとしています。現在、次のコードを使用しています。
find_package(Doxygen)
if (DOXYGEN_FOUND)
configure_file("docs/Doxyfile.in" "${PROJECT_BINARY_DIR}/Doxyfile")
add_custom_target(docs
COMMAND ${DOXYGEN_EXECUTABLE}
"${PROJECT_BINARY_DIR}/Doxyfile"
SOURCES "${PROJECT_BINARY_DIR}/Doxyfile")
install(DIRECTORY "${PROJECT_BINARY_DIR}/docs/"
DESTINATION "docs")
endif()
入力すると で正常に動作しmake docs
、 でドキュメントを生成しますPROJECT_BINARY_DIR/docs
。入力するmake install
と、docs サブディレクトリが にコピーされCMAKE_INSTALL_PREFIX
ます。ただし、ユーザーがドキュメントを生成することを望まず、単に入力するとmake install
、次のエラーが発生します。
CMake Error at cmake_install.cmake:36 (FILE):
file INSTALL cannot find "/home/lukas/workspace/TheGame/build/docs".
install
カスタム ターゲット ( docs
) がビルドされている場合 (または にサブディレクトリdocs
が存在する場合) にのみコマンドを実行するように指示するにはどうすればよいPROJECT_BINARY_DIR
でしょうか?