いくつかのサブディレクトリを持つプロジェクトがあり、そのサブディレクトリの 1 つに .cpp および .h ファイルを生成する必要があるとします。本当の事実: そのディレクトリで (< と > なしで) コマンドを実行すると、有効なファイルが生成されます。
では、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 呼び出しは、protocol.proto ファイルと同じディレクトリにある CMakeLists.txt にあります。
このコマンドを単純に実行できないのはなぜですか?