Move bmcweb over to sdbusplus

This patchset moves bmcweb from using boost-dbus over entirely to
sdbusplus.  This has some nice improvements in performance (about 30%
of CPU cycles saved in dbus transactions), as well as makes this
project manuver closer to the upstream way of thinking.

Changes to bmcweb are largely ceremonial, and fall into a few
categories:
1. Moves async_method_call instances to the new format, and deletes any
use of the "endpoint" object in leiu of the sdbusplus style interface
2. sdbus object_path object doesn't allow access to the string
directly, so code that uses it moves to explicit casts.
3. The mapbox variant, while attempting to recreate boost::variant,
misses a T* get<T*>() method implementation, which allows using variant
without exceptions.  Currently, there is an overload for
mapbox::get_ptr implementation which replecates the functionality.

Tested by: Booting the bmcweb on a target, iterating through redfish
basic phosphor-webui usage, and websockets usage

Change-Id: I2d95882908d6eb6dba00b9219a221dd96449ca7b
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/CMakeLists.txt.in b/CMakeLists.txt.in
index ccce7d8..7025398 100644
--- a/CMakeLists.txt.in
+++ b/CMakeLists.txt.in
@@ -2,6 +2,29 @@
 
 include(ExternalProject)
 
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix)
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix/include)
+
+
+# add back GIT_TAG in with the correct SHA1 once
+# https://gerrit.openbmc-project.xyz/#/c/10278/ is merged
+#GIT_TAG
+#2a3af936625bc66cfc6bae1952b57138f141377e
+ExternalProject_Add(
+    sdbusplus
+    GIT_REPOSITORY
+    "https://gerrit.openbmc-project.xyz/openbmc/sdbusplus"
+    GIT_TAG
+    fce038ad5ac9f458b03d55b441253a9c05dadc3e 
+    SOURCE_DIR        "${CMAKE_BINARY_DIR}/sdbusplus-src"
+    BINARY_DIR        "${CMAKE_BINARY_DIR}/sdbusplus-build"
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
+    CONFIGURE_COMMAND ""
+    BUILD_COMMAND ""
+    INSTALL_COMMAND cp -r "${CMAKE_BINARY_DIR}/sdbusplus-src/sdbusplus"
+                          "${CMAKE_BINARY_DIR}/prefix/include"
+)
+
 ExternalProject_Add(
     tinyxml2
     GIT_REPOSITORY
@@ -26,17 +49,6 @@
 )
 
 ExternalProject_Add(
-    boost-dbus
-    GIT_REPOSITORY
-    "ssh://git-amr-2.devtools.intel.com:29418/openbmc-boost-dbus"
-    GIT_TAG
-    895ef1b67f3aaac3808296e4729b991fcf276832
-    SOURCE_DIR        "${CMAKE_BINARY_DIR}/boost-dbus-src"
-    BINARY_DIR        "${CMAKE_BINARY_DIR}/boost-dbus-build"
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix -DBOOST_DBUS_BUILD_UT=OFF
-)
-
-ExternalProject_Add(
     gtest
     GIT_REPOSITORY
     "https://github.com/google/googletest.git"
@@ -46,4 +58,4 @@
     SOURCE_DIR        "${CMAKE_BINARY_DIR}/googletest-src"
     BINARY_DIR        "${CMAKE_BINARY_DIR}/googletest-build"
     CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
-)
\ No newline at end of file
+)