| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- function fs_enumerate(directory)
- local i, t, popen = 0, {}, io.popen
- local pfile = popen('cd .. && ls -p "'..directory..'"')
- for filename in pfile:lines() do
- i = i + 1
- t[i] = filename
- end
- pfile:close()
- return t
- end
- function output_source_files(dir, extension)
- local files = fs_enumerate(dir)
- for _, file in ipairs(files) do
- if file:sub(-1) == '/' then
- output_source_files(dir .. file, extension)
- elseif file:sub(-#extension) == extension then
- io.write(' \'' .. dir .. file .. '\',\n')
- end
- end
- end
- local OUTPUT_PATH = "../meson.build"
- io.output(OUTPUT_PATH)
- io.write('project(\'level_editor\', [\'vala\', \'c\'])\n')
- io.write('deps = [\n')
- io.write(' dependency(\'gdk-3.0\'),\n')
- io.write(' dependency(\'gee-0.8\'),\n')
- io.write(' dependency(\'gio-2.0\'),\n')
- io.write(' dependency(\'glib-2.0\'),\n')
- io.write(' dependency(\'gtk+-3.0\')\n')
- io.write(']\n')
- io.write('src = files([\n')
- output_source_files('./tools/', '.vala')
- io.write('])\n')
- io.write('\n')
- io.write('gnome = import(\'gnome\')\n')
- io.write('\n')
- io.write('resources_xml = files(\'tools\\\\level_editor\\\\resources\\\\resources.gresource.xml\')\n')
- io.write('resources = gnome.compile_resources(\'resources\', resources_xml, source_dir: \'.\\\\tools\\\\level_editor\\\\resources\\\\\')\n')
- io.write('\n')
- io.write('vala_args = [ \n')
- io.write(' \'--target-glib=2.38\', # minimum glib version required for composite templates\n')
- io.write(' \'--define=CROWN_PLATFORM_WINDOWS\',\n')
- io.write(' \'--gresources\', resources_xml,\n')
- io.write(']\n')
- io.write('\n')
- io.write('executable(\'app\',\n')
- io.write(' [src, resources],\n')
- io.write(' dependencies: deps,\n')
- io.write(' vala_args: [vala_args])\n')
- io.close()
|