diff options
| author | ruki <[email protected]> | 2026-03-29 22:49:37 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2026-03-29 22:49:41 +0800 |
| commit | 1bccfc273af2b1d579d033324bca481e15c58653 (patch) | |
| tree | 192697793bd61d48b4423da0ac4a1eab804d80dc /xmake/plugins/project/vstudio/impl | |
| parent | f4513cc28aa778e1ad0d050511cc7e295fe81e32 (diff) | |
fix const limit on lua5.5
Diffstat (limited to 'xmake/plugins/project/vstudio/impl')
5 files changed, 11 insertions, 0 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs200x_vcproj.lua b/xmake/plugins/project/vstudio/impl/vs200x_vcproj.lua index 78bee84f8..b1bade847 100644 --- a/xmake/plugins/project/vstudio/impl/vs200x_vcproj.lua +++ b/xmake/plugins/project/vstudio/impl/vs200x_vcproj.lua @@ -33,6 +33,7 @@ function _make_compflags(sourcefile, target, vcprojdir) -- replace -Idir or /Idir, -Fdsymbol.pdb or /Fdsymbol.pdb local flags = {} for _, flag in ipairs(compflags) do + local flag = flag -- replace -Idir or /Idir flag = flag:gsub("[%-|/]I(.*)", function (dir) @@ -75,6 +76,7 @@ function _make_linkflags(target, vcprojdir) -- replace -libpath:dir or /libpath:dir, -pdb:symbol.pdb or /pdb:symbol.pdb local flags = {} for _, flag in ipairs(linkflags) do + local flag = flag -- replace -libpath:dir or /libpath:dir flag = flag:gsub("[%-|/]libpath:(.*)", function (dir) diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua index 0a1b0955e..4da7a5d2e 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x.lua @@ -93,6 +93,7 @@ function _get_command_string(cmd, vcxprojdir) if cmd.program then local argv = {} for _, v in ipairs(table.join(cmd.program, cmd.argv)) do + local v = v if path.instance_of(v) then v = v:clone():set(_translate_path(v:rawstr(), vcxprojdir)):str() elseif path.is_absolute(v) then @@ -276,6 +277,7 @@ function _make_targetinfo(mode, arch, target, vcxprojdir) end end for k, v in table.orderpairs(setrunenvs) do + local v = v if #v == 1 then v = v[1] if path.is_absolute(v) and v:startswith(project.directory()) then diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua index fd62b0859..78407021e 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua @@ -137,6 +137,7 @@ end function _make_compcmd(compargv, sourcefile, objectfile, vcxprojdir) local argv = {} for i, v in ipairs(compargv) do + local v = v if i == 1 then v = path.filename(v) -- C:\xxx\ml.exe -> ml.exe end @@ -163,6 +164,7 @@ function _make_compflags(sourcefile, targetinfo, vcxprojdir) -- translate path for -Idir or /Idir local flags = {} for _, flag in ipairs(targetinfo.compflags[sourcefile]) do + local flag = flag for _, pattern in ipairs({"[%-/](I)(.*)", "[%-/](external:I)(.*)"}) do -- -Idir or /Idir @@ -186,6 +188,7 @@ function _make_linkflags(targetinfo, vcxprojdir) -- replace -libpath:dir or /libpath:dir local flags = {} for _, flag in ipairs(targetinfo.linkflags) do + local flag = flag -- replace -libpath:dir or /libpath:dir flag = flag:gsub(string.ipattern("[%-/]libpath:(.*)"), function (dir) @@ -932,6 +935,7 @@ function _make_common_item(vcxprojfile, vsinfo, target, targetinfo) local cstandard local cxxstandard for _, lang in pairs(targetinfo.languages) do + local lang = lang lang = lang:replace("c++", "cxx", {plain = true}) if cxxlangflags[lang] then cxxstandard = cxxlangflags[lang] diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua index e3d29e946..2ac7aef5d 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua @@ -77,6 +77,7 @@ function _make_filter(filepath, target, vcxprojdir) local rootdir = extraconf.rootdir assert(rootdir, "please set root directory, e.g. add_filegroups(%s, {rootdir = 'xxx'})", filegroup) for _, rootdir in ipairs(table.wrap(rootdir)) do + local rootdir = rootdir if not path.is_absolute(rootdir) then rootdir = path.absolute(rootdir, scriptdir) end @@ -84,6 +85,7 @@ function _make_filter(filepath, target, vcxprojdir) local files = extraconf.files or "**" local mode = extraconf.mode for _, filepattern in ipairs(files) do + local filepattern = filepattern filepattern = path.pattern(path.absolute(path.join(rootdir, filepattern))) if filepath:match(filepattern) then if mode == "plain" then diff --git a/xmake/plugins/project/vstudio/impl/vsutils.lua b/xmake/plugins/project/vstudio/impl/vsutils.lua index 98fbfd39f..984dd609e 100644 --- a/xmake/plugins/project/vstudio/impl/vsutils.lua +++ b/xmake/plugins/project/vstudio/impl/vsutils.lua @@ -79,6 +79,7 @@ function reset_config_and_caches(mode, arch) end -- merge the project options after default options for name, value in pairs(project.get("config")) do + local value = value value = table.unwrap(value) assert(type(value) == "string" or type(value) == "boolean" or type(value) == "number", "set_config(%s): unsupported value type(%s)", name, type(value)) if not config.readonly(name) then |
