[cmake] enhancements for supporting cmake in ot-br-posix (#4876)

This commit is contained in:
Yakun Xu
2020-04-25 07:21:06 +08:00
committed by GitHub
parent 7e5dce0542
commit 32f8274395
4 changed files with 38 additions and 8 deletions
+4
View File
@@ -60,6 +60,10 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Bootstrap
run: |
sudo apt update
sudo apt --no-install-recommends install -y ninja-build
- name: Package
run: |
script/test package
+3 -1
View File
@@ -115,7 +115,9 @@ endif()
list(APPEND OT_PRIVATE_DEFINES ${OT_PLATFORM_DEFINES})
if(OT_PLATFORM STREQUAL "posix")
add_subdirectory(src/posix)
if(OT_BUILD_EXECUTABLES)
add_subdirectory(src/posix)
endif()
elseif(NOT OT_PLATFORM MATCHES "none")
add_subdirectory(examples)
endif()
+10
View File
@@ -159,6 +159,11 @@ if(OT_MTD_NETDIAG)
list(APPEND OT_PRIVATE_DEFINES "OPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1")
endif()
option(OT_PLATFORM_NETIF "enable platform netif support")
if(OT_PLATFORM_NETIF)
list(APPEND OT_PRIVATE_DEFINES "OPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE=1")
endif()
option(OT_PLATFORM_UDP "enable platform UDP support")
if(OT_PLATFORM_UDP)
list(APPEND OT_PRIVATE_DEFINES "OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE=1")
@@ -224,3 +229,8 @@ option(OT_OTNS "enable OTNS support")
if(OT_OTNS)
list(APPEND OT_PRIVATE_DEFINES "OPENTHREAD_CONFIG_OTNS_ENABLE=1")
endif()
# Checks
if(OT_PLATFORM_UDP AND OT_UDP_FORWARD)
message(FATAL_ERROR "OT_PLATFORM_UDP and OT_UDP_FORWARD are exclusive")
endif()
+21 -7
View File
@@ -32,7 +32,6 @@
set -euo pipefail
readonly OT_BUILD_JOBS=$(getconf _NPROCESSORS_ONLN)
readonly OT_BUILDDIR="$(pwd)/build"
readonly OT_SRCDIR="$(pwd)"
readonly OT_TEST_COMMON_OPTIONS=(
@@ -317,24 +316,39 @@ EXAMPLES:
do_package() {
local builddir="${OT_BUILDDIR}/cmake/openthread-sim"
local options=(
"-DOT_BORDER_AGENT=ON"
"-DOT_BORDER_ROUTER=ON"
"-DOT_CHILD_SUPERVISION=ON"
"-DOT_COMMISSIONER=ON"
"-DOT_DIAGNOSTIC=ON"
"-DOT_IP6_FRAGM=ON"
"-DOT_JAM_DETECTION=ON"
"-DOT_JOINER=ON"
"-DOT_LOG_LEVEL_DYNAMIC=ON"
"-DOT_MAC_FILTER=ON"
"-DOT_SERVICE=ON"
"-DOT_SLAAC=ON"
)
(mkdir -p "${builddir}" \
&& cd "${builddir}" \
&& cmake "${OT_SRCDIR}" -DOT_PLATFORM="simulation" \
&& make -j"${OT_BUILD_JOBS}" package \
&& cmake -GNinja "${OT_SRCDIR}" -DOT_PLATFORM="simulation" "${options[@]}" \
&& ninja package \
&& ls "${builddir}"/openthread-simulation-*.deb)
builddir="${OT_BUILDDIR}/cmake/openthread-host"
(mkdir -p "${builddir}" \
&& cd "${builddir}" \
&& cmake "${OT_SRCDIR}" -DOT_PLATFORM="posix" \
&& make -j"${OT_BUILD_JOBS}" package \
&& cmake -GNinja "${OT_SRCDIR}" -DOT_PLATFORM="posix" "${options[@]}" \
&& ninja package \
&& ls "${builddir}"/openthread-standalone-*.deb)
builddir="${OT_BUILDDIR}/cmake/openthread-daemon"
(mkdir -p "${builddir}" \
&& cd "${builddir}" \
&& cmake "${OT_SRCDIR}" -DOT_PLATFORM="posix" -DOT_DAEMON=1 -DOT_PLATFORM_NETIF=1 -DOT_PLATFORM_UDP=1 \
&& make -j"${OT_BUILD_JOBS}" package \
&& cmake -GNinja "${OT_SRCDIR}" -DOT_PLATFORM="posix" \
-DOT_DAEMON=1 -DOT_PLATFORM_NETIF=1 -DOT_PLATFORM_UDP=1 "${options[@]}" \
&& ninja package \
&& ls "${builddir}"/openthread-daemon-*.deb)
}