set_property(SOURCE ${PROTO_SRCS} ${PROTO_HDRS} PROPERTY SKIP_AUTOGEN ON)
时间: 2023-12-19 22:04:31 浏览: 115
浅谈javascript中的prototype和__proto__的理解
这段代码是用于在使用 Protocol Buffer 生成的源文件和头文件时,让 CMake 不再自动运行编译器来生成这些文件。
Protocol Buffer 是一种用于序列化结构化数据的语言和工具,它可以自动生成对应的源代码,用于将数据进行编码和解码。在使用 Protocol Buffer 时,我们需要用 protobuf 编译器将 .proto 文件编译成对应的源文件和头文件,然后将它们编译进我们的项目中。
在 CMake 中,如果我们添加了这些源文件和头文件,CMake 会默认执行 protobuf 编译器来生成这些文件,但是如果我们已经手动执行了编译器并将生成的文件加入到项目中,那么这些自动生成的代码就会被覆盖掉,这样就会出现编译错误。
因此,使用 `set_property(SOURCE ... PROPERTY SKIP_AUTOGEN ON)` 可以告诉 CMake 不再自动运行编译器来生成这些文件,从而避免出现这种问题。
阅读全文