Closed orzuk-lmj closed 5 years ago
請問這是預期中的行為模式嗎?
是的,就跟vscode有.vscode一样,xmake也会在 .xmake会存储当前的配置,缓存各种检测结果(编译器、依赖库信息等),以及一些依赖库,用于加速每次编译,简化操作,避免每次xmake
, xmake -r
, xmake clean
等操作,都去重新配置,重新检测,例如:
# 一次配置,缓存所有配置结果,相当于autoconf里面的./configure
$ xmake f -p android --cxflags="xxx" --ndk=xxxx --module1=y
# 之后的所有编译,安装,打包,运行等命令都基于之前配置,而不需要重复配置,简化操作
$ xmake
$ xmake clean
$ xmake install
$ xmake run
$ xmake package
当然,也可以通过$ xmake f -c
去忽略缓存,每次强制重新检测一些配置
如果希望能更乾淨的切割整理中間過程產生的暫時檔案,可以給個建議嗎?
可以执行$ xmake clean --all
清空 build下所有生成的临时文件,以及删除整个.xmake目录
或者添加 .gitignore 文件,去忽略 .xmake 目录,避免提交到git
或者可以更新我刚提交的master版本,或者下载 https://github.com/tboox/xmake/releases/download/v2.2.2/xmake-v2.2.3-dev.exe
然后通过设置XMAKE_CONFIGDIR环境变量,来切换本地配置缓存的目录,例如:
$ export XMAKE_CONFIGDIR=/tmp/myproject/conf_cache
$ cd myproject
$ xmake
这个时候所有.xmake缓存文件,都会直接存储到/tmp/myproject/conf_cache,来保持当前项目更加干净
請問,如果在shell先使用$ export XMAKE_CONFIGDIR=xxx之後執行xmake,那麼自定義腳本內後續 os.vrunv("xmake", .......) 的打包或安裝會受到影響嗎?
会的 如果你不想影响 可以通过 os.getenv os.setenv os.addenv去保存和重置他们,在内部运行的时候
您好,想更多的詢問有關自動產生 .xmake 目錄的更多細節。 以前在使用cmake過程中,為了讓專案結構乾淨容易閱讀,會做原始碼和跨平台檔案的分離。 舉個例子,我通常會把專案整理成底下這種形式,然後用簡單的執行shell檔案直接編譯:
但是從轉成 xmake 的使用過程中,執行了多個
$ xmake f -p xxx
之後 發現到會自動產生 .xmake 目錄,且會保存當前設定,而且快取了每個平台的資料