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文件
为什么它不能只是简单的运行这个命令?