Could meson can generate CMake file or directly using CMake? cause Cmake have better IDE support.
On Fri, Aug 7, 2020 at 2:54 PM Cornelia Huck <coh...@redhat.com> wrote: > On Thu, 6 Aug 2020 21:13:56 +0200 > Paolo Bonzini <pbonz...@redhat.com> wrote: > > > This the more or less final version of the Meson conversion. Due to > > the sheer size of the series you have been CCed only on the cover > > letter. > > > > The series reaches the point where Makefile.target and unnest-vars > > can be removed, and all builds become non-recursive. I have also > > converted parts of the testsuite, notably qtest since it is needed > > for fuzzing. What's left for _after_ the merge is: 1) unit tests; > > 2) moving the rest of installation to meson (for which I have patches); > > 3) moving feature detection from configure to meson. > > > > Things I still haven't tested: > > - fuzzing > > - non-x86/Linux builds > > So, I was planning to give it a go on s390, but I cannot even build it > on x86 (fails configure): > > Build started at 2020-08-07T08:43:43.873638 > Main binary: /usr/bin/python3 > Build Options: -Doptimization=2 -Ddebug=true -Dwerror=true -Dstrip=true > -Db_pie=true -Db_coverage=false -Dsdl=auto -Dsdl_image=auto -Dvnc=enabled > -Dvnc_sasl=auto -Dvnc_jpeg=auto -Dvnc_png=auto -Dprefix=/usr/local > -Dbindir=/usr/local/bin -Ddatadir=/usr/local/share > -Dincludedir=/usr/local/include -Dlibdir=/usr/local/lib > -Dlibexecdir=/usr/local/libexec -Dlocalstatedir=/usr/local/var > -Dmandir=/usr/local/share/man -Dsysconfdir=/usr/local/etc > Python system: Linux > The Meson build system > Version: 0.52.0 > Source dir: /home/cohuck/git/qemu > Build dir: /home/cohuck/git/qemu/build > Build type: native build > > meson.build:438:22: ERROR: Key must be a string. > config_target_h += {target: configure_file(output: target + > '-config-target.h', > ^ > (Fedora 31, version from your github branch) > > Is there anything special I need to install beyond meson? > > > - static builds > > - Docker and VM builds > > > > Things I have checked: > > - x86 builds > > - modules > > - "make install" > > - internal slirp/dtc/capstone. > > > > It should be more or less bisectable. I have not tried building > > _all_ steps, but I have tried both before and after each major one. > > > > Build system rebuild rules seem to work reliably. > > > > After a week or quite intense rebasing, my impression is more or less > > the same as last December: Meson looks more daunting, but it is actually > > much nicer to work with. > > > > The diffstat so far is not very favorable, but remember that: > > > > 1) the series leaves quite a few nearly-obsolete bits in configure, > > Makefile and rules.mak (over 200 lines only in the makefiles). > > > > 2) configure test conversion will be where meson really shines. I > > included a couple examples just to show > > > > meson: convert VNC and dependent libraries to meson > > 4 files changed, 44 insertions(+), 134 deletions(-) > > > > meson: move SDL and SDL-image detection to meson > > 5 files changed, 30 insertions(+), 144 deletions(-) > > > > meson: replace create-config with meson configure_file > > 6 files changed, 80 insertions(+), 168 deletions(-) > > > > 3) the idea behind using Makefile generators is to have stable > > code written in a high-level language instead of Makefile magic > > that tends to grow by accretion. So even though ninjatool is > > large at 1000 lines of Python, it can already be considered mature > > or even "done". It had only ~15 lines changed since the last post, > > and whenever debugging meson.build issues looking at build.ninja has > > always (literally!) been enough. > > > > Available on git://github.com/bonzini/qemu branch meson-poc-next. > > > -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo