2016-02-12 108 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