命令行中原型中的条件设置选项

问题描述

我需要从一个原始文件生成通用服务和grpc服务,例如

  1. 在Linux上将选项cc_generic_services设置为true,并使用非grpc实现,并且
  2. 在Windows上将选项cc_generic_services设置为false,以使用grpc服务。

是否可以通过命令行将选项设置为使用一个原型文件

我使用cmake来管理项目文件

谢谢。

解决方法

最后,我使用configure_file根据是否启用了proto动态生成generic_services文件。

proto.in中,定义

option cc_generic_services = @GENERIC_SERVICES@;

然后根据是否启用GENERIC_SERVICESCMakeLists.txt中设置gRPC