tree 065ee19c718f8697d98490fd722446b0408e4c15
parent 65176d3908b27393d81b72284dbebc47055e517c
author Manojkiran Eda <manojkiran.eda@gmail.com> 1590549692 +0530
committer Ed Tanous <ed@tanous.net> 1601681734 +0000

Enable Meson Build System & remove cmake support

- This commit enables the support for meson build system for
  bmcweb and also remove the cmake support

- The inital thought of migrating to meson build system was based
  on [link](https://mesonbuild.com/Simple-comparison.html)

- Other things to praise about meson are its simplicity and userfriendly ness.
  It also have native support for modern tools such as precompiled headers,
  coverage, Valgrind , unity builds e.t.c

- This commit also support the automatic download and setup of dependencies
  if they are not found in usual places using meson wraps that are already
  available in [wrap db](https://wrapdb.mesonbuild.com/)

- For few dependencies like boost, boost-url which does not have meson
  wrap support yet, i have misused the meson subproject command to download
  boost & boot-url and build against them if they are not found in usual
  places.

- For boost & boost-url the subproject command will always fail as meson
  supports other meson projects as subprojects but it will always download
  the source, and since we dont actually build boost/boost-url but just use
  the the source headers this should not be a problem.

- Cmake options removed:

   - BUILD_STATIC_LIBS has been removed as it is not being used any where as per the
     review comments.

-  By default the meson wraps are enabled and it downloads the dependencies if they
   are not found, and via bitbake this behaviour is disabled by default as download
   fallback feature is disabled.

- This commit also adds the README, changes for bmcweb as well.

- The meta-* layer changes are also pushed and marked as WIP under bmcweb_meson_port
  topic.

Tested By :
===========
1. Compilation is passed without error or warning in both arm & x86 sdks that
   are populated by yocto.
2. The unittests are also passed on both x86 & arm machines.
3. Compilation passed with various build types supported by meson (debug,debugoptimized,
   relase)
4. modified the meta-phosphor & meta-ibm to leverage meson build for bmcweb, and loaded
   the resulted image on qemu & real machine, checked the bmcweb status and was also able
   to pull the web-gui on both.
5. Tested few common commands related to session service & network service manually on a
   real machine and also also had run a CT regression bucket, and it looked clean.

The binary sizes when bmcweb is compiled via bitbake(using meta-ibm) are :
cmake: 3100080 bytes approx (3 MB)
meson: 2822596 bytes approx (2.7 MB)

1:1 equivalent hash is not possible due to couple of things:
1. The build types in meson does not have a 1:1 mapping with cmake build types.
2. Meson adds below mentioned compiler & linker flags than cmake as a part of
   warning_level & build types

CXXFLAGS :' -O2 -pipe -g -feliminate-unused-debug-types -fdiagnostics-color=always
            -D_FILE_OFFSET_BITS=64 -Winvalid-pch -DNDEBUG'
LDFLAGS : ' -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--no-undefined,-Wl,--end-group'

Tried to match the compile commands in both cmake & meson as much as possible and this
is what i could get.I have attached the compile_commands.json for both duing an yocto
full build in the [link](https://gofile.io/d/gM80fw) for reference.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Ia65689fdacb8c398dd0a019258369b2442fad2f3
