2016-05-12 172 views
2

我剛剛在我的項目中使用add_custom_target()命令包含了doxygen的生成。現在我沒有包含ALL,因爲我不希望這個版本成爲默認版本。在CMake項目組中構建目標

現在我有以下情況。

項目/ subproj1/DOC 項目/ subproj2/DOC

在每個子項目有一個的CMakeLists.txt文件: add_custom_target(gen_doc_subproj1 ...) add_custom_target(gen_doc_subproj2 ...)

我想實現的是我的生成make文件後我可以輸入:

使文檔 它將構建所有文檔目標。

有一些建設的CMake如: if_not_exist_target_group(doc) create_target_group(doc) endif add_to_target_group(gen_doc_subproj1, doc)

任何指針將appriciated。

+0

你嘗試在主'CMakeLists.txt'建立空單,在子文件的CMake填補它,所有的'add_subdirectory'輸出後它帶有'message(STATUS「$ {mylist}」)'? – fghj

回答

3

如果我理解你的權利,這很簡單,只要

if(NOT TARGET doc) 
    add_custom_target(doc) 
    add_dependencies(doc gen_doc_subproj1 gen_doc_subproj2 ...) 
endif() 
+0

你好, 這正是我正在尋找。我知道使用CMake應該不難實現。 謝謝你的迴應。 –