我正在嘗試使用CMake通過令牌替換將通用包裝轉換爲特定包裝。我希望所有用戶都必須做的是輸入一組特定的字符串,讓CMake執行configure_file,並且包裝器會讀取值並按預期工作。CMake用戶字符串輸入
我知道的可能使用集來設置需要更換令牌:
set(FAV_FOOD "Sushi" CACHE STRING "What is your favorite food?")
還有選項,讓用戶從一組像這樣的答案選擇:
set(MY_SELECTION "Option A" CACHE STRING "Help message for this variable")
set_property(
CACHE MY_SELECTION
PROPERTY STRINGS
"Option A" "Option B" "Option C"
)
問題在於我無法枚舉所有有效的答案。 CMake有沒有辦法讓GUI彈出並允許用戶用任何字符串回答?在調用make之前,我可以讓用戶在文件中填寫這些值,但是我想避免用戶手動執行任何操作,並且我想提前使用CMake緩存並避免假定用戶已經填寫了文件中的變量。
任何建議將是最有幫助的。謝謝。
我認爲我將要使用的策略是使用Matlab來做一個簡單的GUI,並將用戶的答案保存在cmake腳本中,並使用-C選項將腳本加載到預構建緩存中當調用cmake時。你在命令行傳遞值的方法可以工作,但由於我的情況下有大量變量,所以很麻煩。 –