summaryrefslogtreecommitdiff
path: root/xmake/core/project/policy.lua
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2025-04-23 18:40:13 +0200
committerArthur LAURENT <[email protected]>2025-04-23 18:40:13 +0200
commita26ab0a2df198a1af1c3a68d63fd16b042b01486 (patch)
tree2f1a05acfc39d8f49ee738ef6bcbc148cec7f2c6 /xmake/core/project/policy.lua
parentd60e9b244f091593232fffae837ec0504c51f032 (diff)
(C++ modules support) improve modules policy naming
Diffstat (limited to 'xmake/core/project/policy.lua')
-rw-r--r--xmake/core/project/policy.lua26
1 files changed, 17 insertions, 9 deletions
diff --git a/xmake/core/project/policy.lua b/xmake/core/project/policy.lua
index c4da9fdd3..005775517 100644
--- a/xmake/core/project/policy.lua
+++ b/xmake/core/project/policy.lua
@@ -76,22 +76,30 @@ function policy.policies()
["build.c++.modules.std"] = {description = "Enable std modules.", default = true, type = "boolean"},
-- Enable unreferenced and non-public named module culling
["build.c++.modules.culling"] = {description = "Enable unrefereced and non-public named module culling.", default = true, type = "boolean"},
- -- Try to reuse compiled module bmi file if targets flags permit it
- ["build.c++.modules.tryreuse"] = {description = "Try to reuse compiled module if possible.", default = true, type = "boolean"},
- -- Enable module taking defines acbount for bmi reuse discrimination
+ -- Always reuse compiled module bmi file
+ ["build.c++.modules.reuse"] = {description = "Reuse compiled module artifacts if possible.", default = true, type = "boolean"},
+ ["build.c++.modules.tryreuse"] = {description = "Try to reuse compiled module if possible. (deprecated)", default = false, type = "boolean"},
+ -- If target will not reuse modules from target deps if defines are different
+ ["build.c++.modules.reuse.strict"] = {description = "Enable strict defines comparison when trying to reuse module.", default = false, type = "boolean"},
["build.c++.modules.tryreuse.discriminate_on_defines"] = {description = "Enable defines module reuse discrimination.", default = false, type = "boolean"},
+ -- Force C++ modules fallback dependency scanner for all compilers
+ ["build.c++.modules.fallbackscanner"] = {description = "Force fallback module dependency scanner.", default = false, type = "boolean"},
-- Force C++ modules fallback dependency scanner for clang
- ["build.c++.clang.fallbackscanner"] = {description = "Force clang fallback module dependency scanner.", default = false, type = "boolean"},
+ ["build.c++.modules.clang.fallbackscanner"] = {description = "Force clang fallback module dependency scanner.", default = false, type = "boolean"},
+ ["build.c++.clang.fallbackscanner"] = {description = "Force clang fallback module dependency scanner. (deprecated)", default = false, type = "boolean"},
-- Force C++ modules fallback dependency scanner for msvc
- ["build.c++.msvc.fallbackscanner"] = {description = "Force msvc fallback module dependency scanner.", default = false, type = "boolean"},
- -- Set the default vs runtime, e.g. MT, MD
- ["build.c++.msvc.runtime"] = {description = "Set the default vs runtime.", type = "string", values = {"MT", "MD"}},
+ ["build.c++.modules.msvc.fallbackscanner"] = {description = "Force msvc fallback module dependency scanner.", default = false, type = "boolean"},
+ ["build.c++.msvc.fallbackscanner"] = {description = "Force msvc fallback module dependency scanner. (deprecated)", default = false, type = "boolean"},
-- Force C++ modules fallback dependency scanner for gcc
- ["build.c++.gcc.fallbackscanner"] = {description = "Force gcc fallback module dependency scanner.", default = false, type = "boolean"},
+ ["build.c++.modules.gcc.fallbackscanner"] = {description = "Force gcc fallback module dependency scanner.", default = false, type = "boolean"},
+ ["build.c++.gcc.fallbackscanner"] = {description = "Force gcc fallback module dependency scanner. (deprecated)", default = false, type = "boolean"},
-- Force to enable new cxx11 abi in C++ modules for gcc
-- If in the future, gcc can support it well, we'll turn it on by default
-- https://github.com/xmake-io/xmake/issues/3855
- ["build.c++.gcc.modules.cxx11abi"] = {description = "Force to enable new cxx11 abi in C++ modules for gcc.", type = "boolean"},
+ ["build.c++.modules.gcc.cxx11abi"] = {description = "Force to enable new cxx11 abi in C++ modules for gcc.", type = "boolean"},
+ ["build.c++.gcc.modules.cxx11abi"] = {description = "Force to enable new cxx11 abi in C++ modules for gcc. (deprecated)", type = "boolean", default = false},
+ -- Set the default vs runtime, e.g. MT, MD
+ ["build.c++.msvc.runtime"] = {description = "Set the default vs runtime.", type = "string", values = {"MT", "MD"}},
-- Enable cuda device link
["build.cuda.devlink"] = {description = "Enable Cuda devlink.", type = "boolean"},
-- Enable build jobgraph