2016-02-12 147 views
0

是否可以根据配置条件地在cmake中设置变量?例如,我想是这样的:有条件地在cmake中根据配置设置变量

set(VAR 
    $<$<CONFIG:Debug>:definition_for_debug> 
    $<$<CONFIG:RelWithDebInfo>:definition_for_rel_with_debug> 
    $<$<CONFIG:Release>:definition_for_release> 
    $<$<CONFIG:MinSizeRel>:definition_for_tight_release> 
    ) 

然而,当我这样做,cmake的返回在使用变量的错误。我在这里做错了什么?有没有其他方法可以做到这一点?

回答

0

想通了。不同的发生器表达式之间不应有空格:

set(VAR $<$<CONFIG:Debug>:definition_for_debug>$<$<CONFIG:RelWithDebInfo>:definition_for_rel_with_debug>$<$<CONFIG:Release>:definition_for_release> $<$<CONFIG:MinSizeRel>:definition_for_tight_release> 
) 
+0

这应该没有区别。我能够使用任何一种方法。您的问题很可能出现在这些definition_for_ *的内容中 – RCL