0
我們假設我們有一個包含一些子目錄的項目,我們需要在其子目錄之一中生成.cpp和.h文件。真實的事實:如果我們在該目錄中運行命令(沒有<和>),它會生成有效的文件。Cmake無法運行shell命令
那麼如何使用cmake做到這一點?
Cmake有add_custom_command,但它什麼都不做,所以我們不能使用它。 execute_process更好,因爲它運行的東西,但方式不對。
execute_process(COMMAND "protoc -I=\".\" --cpp_out=\".\" protocol.proto"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
不幸的是,結果卻是一無所獲,因爲CMake的不能正常運行的命令,所以「protoc」打印「沒有這樣的文件或目錄」。
添加/編輯:這execute_process調用位於的CMakeLists.txt它位於同一目錄中protocol.proto文件
爲什麼它不能只是簡單的運行這個命令?