[英]Processing additional CMake files with CMake
我有CMakeLists.txt文件,該文件受源代碼控制。 但是,要交叉編譯,我需要做很多調整,以便所有選項-DCMAKE_SYSTEM_PROCESSOR=armhf
等都不適合命令行限制。 要解決此問題,我只是將所有選項添加到了根目錄下的CMakeLists.txt文件中。 他們看着像是
if(TWEAK_PROJECT_XXX)
set(CMAKE_SYSTEM_PROCESSOR armhf CACHE STRING "")
...
endif()
當然,我不能將這些調整提交給源代碼管理。 但是,在制作如下補丁時,命令行SVN不允許排除某些文件:
svn diff --diff-cmd=diff -x -U999999 > full.diff
而且我需要完整的差異,因此不能使用TortoiseSVN GUI進行創建(GUI,AFAIK中沒有這種可能性)。 因此,我必須每次手動修改diff才能排除CMakeLists.txt的調整。 這很不方便。
作為一種解決方案,我正在考慮將調整移到一個單獨的文件中,而不是在源代碼控制下(並在SVN中忽略它),然后將一些命令行選項傳遞給CMake首先處理該文件。 這可能嗎? 怎么樣?
CMake提供了使用變量及其值加載文件的方法,以將其用作緩存的基礎。
使用這樣的緩存文件並通過以下方式加載它
cmake -C <cachefile>
文檔:cmake.org/cmake/help/v3.6/manual/cmake.1.html
同樣,您可以使用load_cache
但不能滿足您特定情況的需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.