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
+)