diff options
| author | ruki <[email protected]> | 2025-05-17 00:49:56 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-05-17 00:49:56 +0800 |
| commit | 9ee2368e99edc1907c4cd609d20829aada974d1c (patch) | |
| tree | 6dca5e919b00b1464900d7a7d95f710812563c42 | |
| parent | 8048be7eefdbffde9ed7a9fb1106af885fc3472b (diff) | |
improve c++modules exts
| -rw-r--r-- | xmake/rules/c++/modules/support.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/c++/modules/xmake.lua | 15 |
2 files changed, 4 insertions, 13 deletions
diff --git a/xmake/rules/c++/modules/support.lua b/xmake/rules/c++/modules/support.lua index 9353fae8a..faaa57369 100644 --- a/xmake/rules/c++/modules/support.lua +++ b/xmake/rules/c++/modules/support.lua @@ -158,7 +158,7 @@ function has_module_extension(sourcefile, opt) opt = opt or {} local modulexts = _g.modulexts if modulexts == nil then - modulexts = hashset.of(".mpp", ".mxx", ".cppm", ".ixx") + modulexts = hashset.of(".cppm", ".ccm", ".cxxm", ".c++m", ".mpp", ".mxx", ".ixx") _g.modulexts = modulexts end local extension = opt.extension or path.extension(sourcefile) diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua index 64de8e017..482c773f8 100644 --- a/xmake/rules/c++/modules/xmake.lua +++ b/xmake/rules/c++/modules/xmake.lua @@ -20,7 +20,6 @@ -- define rule: c++.build.modules rule("c++.build.modules") - -- @note support.contains_modules() need it set_extensions(".cppm", ".ccm", ".cxxm", ".c++m", ".mpp", ".mxx", ".ixx") @@ -36,37 +35,29 @@ rule("c++.build.modules") -- scan modules rule("c++.build.modules.scanner") set_sourcekinds("cxx") - set_extensions(".mpp", ".mxx", ".cppm", ".ixx") - - -- generate module dependencies + set_extensions(".cppm", ".ccm", ".cxxm", ".c++m", ".mpp", ".mxx", ".ixx") on_prepare_files("scanner", {jobgraph = true}) - - -- insert objectfiles after_prepare_files("scanner.after_scan") -- build modules rule("c++.build.modules.builder") set_sourcekinds("cxx") - set_extensions(".mpp", ".mxx", ".cppm", ".ixx") - + set_extensions(".cppm", ".ccm", ".cxxm", ".c++m", ".mpp", ".mxx", ".ixx") add_orders("c++.build.modules.scanner", "c++.build.modules.builder") -- parallel build support to accelerate `xmake build` to build modules before_build_files("builder.build_bmis", {jobgraph = true, batch = true}) - on_build_files("builder.build_objectfiles", {jobgraph = true, batch = true}) -- serial compilation only, usually used to support project generator before_buildcmd_files("builder.build_bmis") - on_buildcmd_files("builder.build_objectfiles") after_clean("builder.clean") -- install modules rule("c++.build.modules.install") - set_extensions(".mpp", ".mxx", ".cppm", ".ixx") + set_extensions(".cppm", ".ccm", ".cxxm", ".c++m", ".mpp", ".mxx", ".ixx") before_install("install.install") - before_uninstall("install.uninstall") |
