bu5hm4n pushed a commit to branch feature/meson. http://git.enlightenment.org/core/efl.git/commit/?id=ca61a51b90d5d99a05ace7504414d3790ed404bb
commit ca61a51b90d5d99a05ace7504414d3790ed404bb Author: Marcel Hollerbach <[email protected]> Date: Wed Jan 10 19:56:54 2018 +0000 meson: script helpers for building all options --- scripts/check_options.sh | 10 +++++++++ scripts/create_all_options.lua | 51 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/scripts/check_options.sh b/scripts/check_options.sh new file mode 100755 index 0000000000..34522af3b0 --- /dev/null +++ b/scripts/check_options.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +BUILD_DIR=`mktemp -d` +INSTALL_DIR=`mktemp -d` + +meson $1 --prefix ${INSTALL_DIR} ${BUILD_DIR} + +ninja -C ${BUILD_DIR} all +ninja -C ${BUILD_DIR} install +#ninja -C ${BUILD_DIR} test \ No newline at end of file diff --git a/scripts/create_all_options.lua b/scripts/create_all_options.lua new file mode 100644 index 0000000000..d95cde06aa --- /dev/null +++ b/scripts/create_all_options.lua @@ -0,0 +1,51 @@ +options = { + {"-Dopengl=", "full", "none", "es-egl"}, + {"--buildtype ", "plain", "debug", "release"}, +} + +concated_options = {} + +for i,v in pairs(options) do + tmp_options = {} + + option_name = v[1] + + for i=2, #v do + table.insert(tmp_options, option_name..v[i]) + end + + table.insert(concated_options, tmp_options) +end + +function permutate(values) + local permutater = {table.unpack(values[1])} + + if #values == 1 then + return {table.unpack(values[1])} + else + local result = {} + table.remove(values, 1) + local list_to_complete = permutate(values) + + for k,v in pairs(list_to_complete) do + for k_perm,v_perm in pairs(permutater) do + table.insert(result, v_perm.." "..v) + end + end + return result + end +end + +all_options = permutate(concated_options) + +print("GOING TO BUILD ALOT OF EFL") + +for k,v in pairs(all_options) do + cmd = "sh ./scripts/check_options.sh "..v + exitcode = os.execute(cmd) + if exitcode ~= true then + print("command "..cmd.." failed. ") + print(exitcode) + os.exit(-1) + end +end \ No newline at end of file --
