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