blob: 7a7f1465f64870dbf203a396e7524ffb8caf08a6 [file] [log] [blame]
Jia, Chunhuia835eaa2018-09-05 09:00:41 +08001cmake_minimum_required (VERSION 3.5)
2
3include (ExternalProject)
4
5file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix)
6file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix/include)
7
8# requires apt install autoconf-archive and autoconf
9externalproject_add (
10 sdbusplus-project PREFIX ${CMAKE_BINARY_DIR}/sdbusplus-project
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070011 GIT_REPOSITORY https://github.com/openbmc/sdbusplus.git GIT_TAG
12 69425eb7d30816c03f88962c44b12b6de5b3cc71 SOURCE_DIR
13 ${CMAKE_BINARY_DIR}/sdbusplus-src BINARY_DIR
14 ${CMAKE_BINARY_DIR}/sdbusplus-build CONFIGURE_COMMAND "" BUILD_COMMAND cd
15 ${CMAKE_BINARY_DIR}/sdbusplus-src && ./bootstrap.sh clean && ./bootstrap.sh
16 && ./configure --prefix=${CMAKE_BINARY_DIR}/prefix
17 CPPFLAGS=-I${CMAKE_BINARY_DIR}/prefix/include/ --enable-transaction && make
18 && make install INSTALL_COMMAND "" LOG_DOWNLOAD ON
Jia, Chunhuia835eaa2018-09-05 09:00:41 +080019)
20
21externalproject_add (
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070022 dbus-interfaces PREFIX ${CMAKE_BINARY_DIR}/phosphor-dbus-interfaces DEPENDS
23 sdbusplus-project GIT_REPOSITORY
24 https://github.com/openbmc/phosphor-dbus-interfaces GIT_TAG
25 4132f4b6b1de57a993af9bd2bcd039957786a227 SOURCE_DIR
26 ${CMAKE_BINARY_DIR}/phosphor-dbus-interfaces-src BINARY_DIR
27 ${CMAKE_BINARY_DIR}/phosphor-dbus-interfaces-build CONFIGURE_COMMAND ""
28 BUILD_COMMAND cd ${CMAKE_BINARY_DIR}/phosphor-dbus-interfaces-src && echo
29 "#!/bin/bash" > build.sh && echo
30 "export PYTHONPATH=${CMAKE_BINARY_DIR}/prefix/lib/python2.7/site-packages:$ENV{PYTHONPATH}"
31 >> build.sh && echo "export PATH=${CMAKE_BINARY_DIR}/prefix/bin:$ENV{PATH}"
32 >> build.sh && echo
33 "export PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/prefix/lib/pkgconfig" >>
34 build.sh && echo "./bootstrap.sh " >> build.sh && echo
35 "./configure --prefix=${CMAKE_BINARY_DIR}/prefix CPPFLAGS=-I${CMAKE_BINARY_DIR}/prefix/include/ "
36 >> build.sh && echo "make verbose=1" >> build.sh && echo "make install " >>
37 build.sh && chmod 777 build.sh && ./build.sh INSTALL_COMMAND "" LOG_DOWNLOAD
38 ON
Jia, Chunhuia835eaa2018-09-05 09:00:41 +080039)
40
41externalproject_add (
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070042 cereal GIT_REPOSITORY https://github.com/USCiLab/cereal GIT_TAG
43 51cbda5f30e56c801c07fe3d3aba5d7fb9e6cca4 SOURCE_DIR
44 "${CMAKE_BINARY_DIR}/cereal-src" BINARY_DIR
45 "${CMAKE_BINARY_DIR}/cereal-build" CONFIGURE_COMMAND "" BUILD_COMMAND ""
46 INSTALL_COMMAND mkdir -p "${CMAKE_BINARY_DIR}/prefix/include/cereal" && cp
47 -r "${CMAKE_BINARY_DIR}/cereal-src/include/cereal"
48 "${CMAKE_BINARY_DIR}/prefix/include"
Jia, Chunhuia835eaa2018-09-05 09:00:41 +080049)
50
51externalproject_add (
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070052 phosphor-logging PREFIX ${CMAKE_BINARY_DIR}/phosphor-logging DEPENDS cereal
53 sdbusplus-project dbus-interfaces GIT_REPOSITORY
54 https://github.com/openbmc/phosphor-logging GIT_TAG
55 477b731ad0fd8c116ffcaa8265a508c9fb112479 SOURCE_DIR
56 ${CMAKE_BINARY_DIR}/phosphor-logging-src BINARY_DIR
57 ${CMAKE_BINARY_DIR}/phosphor-logging-build CONFIGURE_COMMAND ""
58 BUILD_COMMAND cd ${CMAKE_BINARY_DIR}/phosphor-logging-src && echo
59 "#!/bin/bash" > build.sh && echo
60 "export PYTHONPATH=${CMAKE_BINARY_DIR}/prefix/lib/python2.7/site-packages:$ENV{PYTHONPATH}"
61 >> build.sh && echo "export PATH=${CMAKE_BINARY_DIR}/prefix/bin:$ENV{PATH}"
62 >> build.sh && echo
63 "export PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/prefix/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}"
64 >> build.sh && echo "./bootstrap.sh clean" >> build.sh && echo
65 "./bootstrap.sh" >> build.sh && echo
66 "./configure --prefix=${CMAKE_BINARY_DIR}/prefix CPPFLAGS=-I${CMAKE_BINARY_DIR}/prefix/include/ \
67 YAML_DIR=${CMAKE_BINARY_DIR}/prefix/share/phosphor-dbus-yaml/yaml --enable-metadata-processing"
68 >> build.sh && echo "make verbose=1" >> build.sh && echo "make install " >>
69 build.sh && chmod 777 build.sh && ./build.sh INSTALL_COMMAND "" LOG_DOWNLOAD
70 ON
Jia, Chunhuia835eaa2018-09-05 09:00:41 +080071)
72
73externalproject_add (
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070074 nlohmann-json GIT_REPOSITORY "https://github.com/nlohmann/json.git" GIT_TAG
75 d2dd27dc3b8472dbaa7d66f83619b3ebcd9185fe SOURCE_DIR
76 "${CMAKE_BINARY_DIR}/nlohmann-json-src" BINARY_DIR
77 "${CMAKE_BINARY_DIR}/nlohmann-json-build" CONFIGURE_COMMAND "" BUILD_COMMAND
78 "" INSTALL_COMMAND mkdir -p "${CMAKE_BINARY_DIR}/prefix/include/nlohmann" &&
79 cp -r "${CMAKE_BINARY_DIR}/nlohmann-json-src/include/nlohmann"
80 "${CMAKE_BINARY_DIR}/prefix/include"
Jia, Chunhuia835eaa2018-09-05 09:00:41 +080081)
82
Jason M. Bills3f7c5e42018-10-03 14:00:41 -070083externalproject_add (
84 host-ipmid PREFIX ${CMAKE_BINARY_DIR}/phosphor-host-ipmid DEPENDS
85 sdbusplus-project dbus-interfaces nlohmann-json GIT_REPOSITORY
86 https://github.com/openbmc/phosphor-host-ipmid SOURCE_DIR
87 ${CMAKE_BINARY_DIR}/phosphor-ipmi-host BINARY_DIR
88 ${CMAKE_BINARY_DIR}/phosphor-host-ipmid-build CONFIGURE_COMMAND ""
89 BUILD_COMMAND "" INSTALL_COMMAND mkdir -p
90 "${CMAKE_BINARY_DIR}/prefix/include/host-ipmid" && cp
91 ${CMAKE_BINARY_DIR}/phosphor-ipmi-host/host-ipmid/ipmid-api.h
92 ${CMAKE_BINARY_DIR}/prefix/include/host-ipmid && cp
93 ${CMAKE_BINARY_DIR}/phosphor-ipmi-host/elog-errors.hpp
94 ${CMAKE_BINARY_DIR}/prefix/include/host-ipmid && cp
95 ${CMAKE_BINARY_DIR}/phosphor-ipmi-host/utils.hpp
96 ${CMAKE_BINARY_DIR}/prefix/include/host-ipmid && cp
97 ${CMAKE_BINARY_DIR}/phosphor-ipmi-host/types.hpp
98 ${CMAKE_BINARY_DIR}/prefix/include/host-ipmid LOG_DOWNLOAD ON
99)
Jia, Chunhuia835eaa2018-09-05 09:00:41 +0800100
Jason M. Bills3f7c5e42018-10-03 14:00:41 -0700101externalproject_add (
102 Boost URL
103 https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
104 URL_MD5 d275cd85b00022313c171f602db59fc5 SOURCE_DIR
105 "${CMAKE_BINARY_DIR}/boost-src" BINARY_DIR "${CMAKE_BINARY_DIR}/boost-build"
106 CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND mkdir -p
107 "${CMAKE_BINARY_DIR}/prefix/include/" && cp -R
108 ${CMAKE_BINARY_DIR}/boost-src/boost ${CMAKE_BINARY_DIR}/prefix/include
109)