2015-10-20 86 views
2

我需要將swig作爲我的cmake構建系統的一部分運行。我希望用戶能夠指定要傳遞給swig的語言列表,並在命令行中指定它們。CMake在命令行上傳遞列表

$ cmake -DSWIG_LANGUAGES=java,scala <path to cmake_source_dir> 

cmake是否有內置的處理方法?

+1

列表在CMake中以分號處理。如果你使用'-DSWIG_LANGUAGES = java; scala; haskell',你可以例如用for循環遍歷列表。 – usr1234567

回答

5

您可以使用分號分隔列表項。由於分號是類似unix的shell中的特殊字符,因此您需要將其轉義或使用引號。以下任何命令均可使用:

cmake -DSWIG_LANGUAGES=java\;scala ... 
cmake "-DSWIG_LANGUAGES=java;scala" ... 
cmake '-DSWIG_LANGUAGES=java;scala' ...