diff options
| author | Arthur LAURENT <[email protected]> | 2023-01-07 17:44:36 +0100 |
|---|---|---|
| committer | Arthur LAURENT <[email protected]> | 2023-01-07 17:44:36 +0100 |
| commit | 3755a6f67399b8e42df9f39ec7c506918dbb433a (patch) | |
| tree | 6fdf938868f75790e828c86e64319d0c558885d1 /xmake/rules/c++/modules | |
| parent | 887d301d4117d9fcb36077441fa75fb704e322fc (diff) | |
reenable old clang modules by default and fix tests
Diffstat (limited to 'xmake/rules/c++/modules')
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/clang.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang.lua b/xmake/rules/c++/modules/modules_support/clang.lua index 9cf7edcdf..7a63c027d 100644 --- a/xmake/rules/c++/modules/modules_support/clang.lua +++ b/xmake/rules/c++/modules/modules_support/clang.lua @@ -67,11 +67,19 @@ end -- load module support for the current target function load(target) local modulesflag = get_modulesflag(target) + local builtinmodulemapflag = get_builtinmodulemapflag(target) + local implicitmodulesflag = get_implicitmodulesflag(target) local noimplicitmodulemapsflag = get_noimplicitmodulemapsflag(target) -- add module flags target:add("cxxflags", modulesflag) - target:add("cxxflags", noimplicitmodulemapsflag, {force = true}) + + if not target:values("c++.clang.modules.strict") then + target:add("cxxflags", builtinmodulemapflag, {force = true}) + target:add("cxxflags", implicitmodulesflag, {force = true}) + else + target:add("cxxflags", noimplicitmodulemapsflag, {force = true}) + end -- fix default visibility for functions and variables [-fvisibility] differs in PCH file vs. current file -- module.pcm cannot be loaded due to a configuration mismatch with the current compilation. |
