|
140 | 140 | -- so we need to propely escape them |
141 | 141 | function ninja.shesc(value) |
142 | 142 | if type(value) == 'table' then |
143 | | - local result = {} |
144 | | - local n = #value |
145 | | - for i = 1, n do |
146 | | - table.insert(result, ninja.shesc(value[i])) |
147 | | - end |
148 | | - return result |
| 143 | + return table.translate(value, ninja.shesc) |
149 | 144 | end |
150 | 145 |
|
151 | 146 | if value:find(' ') or value:find('"') or value:find('(', 1, true) or value:find(')') or value:find('|') or value:find('&') then |
@@ -546,17 +541,15 @@ local function compile_file_build(cfg, filecfg, toolset, pch_dependency, regular |
546 | 541 | objfiles[#objfiles + 1] = objfilename |
547 | 542 | local vars = {} |
548 | 543 | if has_custom_settings then |
549 | | - cflags = 'CFLAGS = $CFLAGS ' .. getcflags(toolset, cfg, filecfg) |
550 | | - vars = { cflags } |
| 544 | + vars = { 'CFLAGS = $CFLAGS ' .. getcflags(toolset, cfg, filecfg) } |
551 | 545 | end |
552 | 546 | ninja.add_build(cfg, objfilename, {}, iif(use_clangtidy, 'clangtidy_cc', 'cc'), { filepath }, pch_dependency, regular_file_dependencies, vars) |
553 | 547 | elseif shouldcompileascpp(filecfg) then |
554 | 548 | local objfilename = obj_dir .. '/' .. obj_file |
555 | 549 | objfiles[#objfiles + 1] = objfilename |
556 | 550 | local vars = {} |
557 | 551 | if has_custom_settings then |
558 | | - cxxflags = 'CXXFLAGS = $CXXFLAGS ' .. getcxxflags(toolset, cfg, filecfg) |
559 | | - vars = { cxxflags } |
| 552 | + vars = { 'CXXFLAGS = $CXXFLAGS ' .. getcxxflags(toolset, cfg, filecfg) } |
560 | 553 | end |
561 | 554 | ninja.add_build(cfg, objfilename, {}, iif(use_clangtidy, 'clangtidy_cxx', 'cxx'), { filepath }, pch_dependency, regular_file_dependencies, vars) |
562 | 555 | elseif path.isresourcefile(filecfg.abspath) then |
@@ -649,16 +642,14 @@ function ninja.generateProjectCfg(cfg) |
649 | 642 |
|
650 | 643 | ---------------------------------------------------- figure out settings |
651 | 644 | local pch = nil |
652 | | - if is_c_or_cpp then |
653 | | - if toolset ~= p.tools.msc then |
654 | | - pch = p.tools.gcc.getpch(cfg) |
655 | | - if pch then |
656 | | - pch = { |
657 | | - input = pch, |
658 | | - placeholder = project.getrelative(cfg.workspace, path.join(cfg.objdir, path.getname(pch))), |
659 | | - gch = project.getrelative(cfg.workspace, path.join(cfg.objdir, path.getname(pch) .. '.gch')), |
660 | | - } |
661 | | - end |
| 645 | + if is_c_or_cpp and toolset ~= p.tools.msc then |
| 646 | + pch = p.tools.gcc.getpch(cfg) |
| 647 | + if pch then |
| 648 | + pch = { |
| 649 | + input = pch, |
| 650 | + placeholder = project.getrelative(cfg.workspace, path.join(cfg.objdir, path.getname(pch))), |
| 651 | + gch = project.getrelative(cfg.workspace, path.join(cfg.objdir, path.getname(pch) .. '.gch')), |
| 652 | + } |
662 | 653 | end |
663 | 654 | end |
664 | 655 |
|
|
0 commit comments