/ scripts / create_all_options.lua
create_all_options.lua
 1  options = {
 2    {"-Dopengl=", "full", "none", "es-egl"},
 3    {"--buildtype ", "plain", "debug", "release"},
 4    {"-Devas-modules ", "shared", "static"},
 5  }
 6  
 7  concated_options = {}
 8  
 9  for i,v in pairs(options) do
10    tmp_options = {}
11  
12    option_name = v[1]
13  
14    for i=2, #v do
15      table.insert(tmp_options, option_name..v[i])
16    end
17  
18    table.insert(concated_options, tmp_options)
19  end
20  
21  function permutate(values)
22    local permutater = {table.unpack(values[1])}
23  
24    if #values == 1 then
25      return {table.unpack(values[1])}
26    else
27      local result = {}
28      table.remove(values, 1)
29      local list_to_complete = permutate(values)
30  
31      for k,v in pairs(list_to_complete) do
32        for k_perm,v_perm in pairs(permutater) do
33          table.insert(result, v_perm.." "..v)
34        end
35      end
36      return result
37    end
38  end
39  
40  all_options = permutate(concated_options)
41  
42  print("GOING TO BUILD ALOT OF EFL")
43  
44  for k,v in pairs(all_options) do
45    cmd = "sh ./scripts/check_options.sh "..v.." "..arg[1]
46    exitcode = os.execute(cmd)
47    if exitcode ~= true then
48      print("command "..cmd.." failed. ")
49      print(exitcode)
50      os.exit(-1)
51    end
52  end