2 # Copyright (c) 2020, The OpenThread Authors.
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are met:
7 # 1. Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 # 2. Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in the
11 # documentation and/or other materials provided with the distribution.
12 # 3. Neither the name of the copyright holder nor the
13 # names of its contributors may be used to endorse or promote products
14 # derived from this software without specific prior written permission.
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 # POSSIBILITY OF SUCH DAMAGE.
29 set(OT_BORDER_AGENT ON CACHE BOOL "enable border agent" FORCE)
30 set(OT_BORDER_ROUTER ON CACHE BOOL "enable border router feature" FORCE)
31 set(OT_BUILD_EXECUTABLES OFF CACHE BOOL "disable building executables" FORCE)
32 set(OT_BUILTIN_MBEDTLS_MANAGEMENT OFF CACHE BOOL "diable mbedTLS management" FORCE)
33 set(OT_COMMISSIONER ON CACHE BOOL "enable commissioner" FORCE)
34 set(OT_DAEMON ON CACHE BOOL "enable daemon mode" FORCE)
35 set(OT_JOINER ON CACHE BOOL "enable joiner" FORCE)
36 set(OT_LEGACY ON CACHE STRING "enable legacy network support" FORCE)
37 set(OT_SLAAC ON CACHE BOOL "enable SLAAC" FORCE)
40 if (CMAKE_BUILD_TYPE STREQUAL "Debug")
41 set(OT_LOG_LEVEL "DEBG" CACHE STRING "set OpenThread log level to DEBG" FORCE)
43 set(OT_LOG_LEVEL "INFO" CACHE STRING "set OpenThread log level to INFO" FORCE)
47 set(OT_LOG_LEVEL_DYNAMIC ON CACHE BOOL "enable dynamic log level control" FORCE)
48 set(OT_MAC_FILTER ON CACHE STRING "enable MAC filter" FORCE)
49 set(OT_MBEDTLS_CONFIG_FILE "\"${PROJECT_SOURCE_DIR}/third_party/openthread/mbedtls-config.h\"" CACHE STRING "use mbedtls-config.h of this project" FORCE)
50 set(OT_PLATFORM "posix" CACHE STRING "use posix platform" FORCE)
51 set(OT_PLATFORM_NETIF ON CACHE BOOL "enable platform netif" FORCE)
52 set(OT_PLATFORM_UDP ON CACHE BOOL "enable platform UDP" FORCE)
53 set(OT_UDP_FORWARD OFF CACHE BOOL "diable udp forward" FORCE)
55 if (OTBR_SRP_ADVERTISING_PROXY)
56 set(OT_SRP_SERVER ON CACHE BOOL "enable SRP server" FORCE)
57 set(OT_ECDSA ON CACHE BOOL "enable ECDSA" FORCE)
58 set(OT_SERVICE ON CACHE BOOL "enable service" FORCE)
59 set(OT_EXTERNAL_HEAP ON CACHE BOOL "enable external heap" FORCE)
62 list(APPEND OT_PLATFORM_DEFINES "-DOPENTHREAD_CONFIG_POSIX_SETTINGS_PATH=\"/var/lib/thread\"")
64 add_subdirectory(repo EXCLUDE_FROM_ALL)
66 target_compile_definitions(ot-config INTERFACE
67 "-DOPENTHREAD_CONFIG_LOG_CLI=1"
68 "-DOPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS=3"
69 "-DOPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE=1"