2012-07-31 57 views
30

簡短版本:我的構建選項只適用於一個平臺。我正在轉換的autotools文件的格式爲if test "$platform_linux" != "yes"。我可以在我的CMakeLists.txt中做同樣的事情(測試值是否相等)?如果cmake中的值不等於2.8

稍長版本:我已經得到了以下的建議不同平臺的測試中發現here


IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 
    # Linux specific code 
    SET(OperatingSystem "Linux") 
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 

我想要做的形式IF(${CMAKE_SYSTEM_NAME} NOT MATCHES "Linux")的考驗。這似乎不起作用,我能找到的唯一文檔是2002年的郵件列表帖子,這表明NOT1.2之前對cmake無效。 [Link]。

這是在後來的cmake版本,特別是2.6和/或2.8的情況嗎?

回答

45

您近了!爲IF正確的語法是

IF(NOT <expression>) 

因此,在特定情況下,你想

IF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux"). 
相關問題