c9b62db723
Will cause compilation warning if NDEBUG is defined We can't modify the code of the external library, so let's ignore it services/ans/src/ble_svc_ans.c:450:9: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] 450 | int rc; | ^~ Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
200 lines
8.1 KiB
CMake
200 lines
8.1 KiB
CMake
# ##############################################################################
|
|
# apps/wireless/bluetooth/nimble/CMakeLists.txt
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
|
# license agreements. See the NOTICE file distributed with this work for
|
|
# additional information regarding copyright ownership. The ASF licenses this
|
|
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
|
# use this file except in compliance with the License. You may obtain a copy of
|
|
# the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations under
|
|
# the License.
|
|
#
|
|
# ##############################################################################
|
|
|
|
if(CONFIG_NIMBLE)
|
|
nuttx_add_library(nimble)
|
|
|
|
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/mynewt-nimble)
|
|
FetchContent_Declare(
|
|
mynewt-nimble
|
|
DOWNLOAD_NAME "${CONFIG_NIMBLE_REF}.tar.gz"
|
|
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
|
URL "https://github.com/apache/mynewt-nimble/archive/${CONFIG_NIMBLE_REF}.tar.gz"
|
|
SOURCE_DIR
|
|
${CMAKE_CURRENT_LIST_DIR}/mynewt-nimble
|
|
BINARY_DIR
|
|
${CMAKE_BINARY_DIR}/apps/wireless/bluetooth/nimble/mynewt-nimble
|
|
CONFIGURE_COMMAND
|
|
""
|
|
BUILD_COMMAND
|
|
""
|
|
INSTALL_COMMAND
|
|
""
|
|
TEST_COMMAND
|
|
""
|
|
DOWNLOAD_NO_PROGRESS true
|
|
TIMEOUT 30)
|
|
|
|
FetchContent_GetProperties(mynewt-nimble)
|
|
|
|
if(NOT mynewt-nimble_POPULATED)
|
|
FetchContent_Populate(mynewt-nimble)
|
|
endif()
|
|
endif()
|
|
|
|
set(SRCS_PORTING
|
|
mynewt-nimble/porting/nimble/src/endian.c
|
|
mynewt-nimble/porting/nimble/src/mem.c
|
|
mynewt-nimble/porting/nimble/src/nimble_port.c
|
|
mynewt-nimble/porting/nimble/src/os_mbuf.c
|
|
mynewt-nimble/porting/nimble/src/os_mempool.c
|
|
mynewt-nimble/porting/nimble/src/os_msys_init.c)
|
|
|
|
set(SRCS_NPL
|
|
mynewt-nimble/porting/npl/nuttx/src/os_atomic.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_callout.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_eventq.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_mutex.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_sem.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_task.c
|
|
mynewt-nimble/porting/npl/nuttx/src/os_time.c)
|
|
|
|
set(SRCS_TRANSPORT
|
|
mynewt-nimble/nimble/transport/socket/src/ble_hci_socket.c
|
|
mynewt-nimble/nimble/transport/src/monitor.c
|
|
mynewt-nimble/nimble/transport/src/transport.c)
|
|
|
|
set(SRCS_SERVICES
|
|
mynewt-nimble/nimble/host/services/ans/src/ble_svc_ans.c
|
|
mynewt-nimble/nimble/host/services/bas/src/ble_svc_bas.c
|
|
mynewt-nimble/nimble/host/services/dis/src/ble_svc_dis.c
|
|
mynewt-nimble/nimble/host/services/gap/src/ble_svc_gap.c
|
|
mynewt-nimble/nimble/host/services/gatt/src/ble_svc_gatt.c
|
|
mynewt-nimble/nimble/host/services/ias/src/ble_svc_ias.c
|
|
mynewt-nimble/nimble/host/services/ipss/src/ble_svc_ipss.c
|
|
mynewt-nimble/nimble/host/services/lls/src/ble_svc_lls.c
|
|
mynewt-nimble/nimble/host/services/tps/src/ble_svc_tps.c)
|
|
|
|
set(SRCS_HOST
|
|
mynewt-nimble/nimble/host/src/ble_att.c
|
|
mynewt-nimble/nimble/host/src/ble_att_clt.c
|
|
mynewt-nimble/nimble/host/src/ble_att_cmd.c
|
|
mynewt-nimble/nimble/host/src/ble_att_svr.c
|
|
mynewt-nimble/nimble/host/src/ble_dtm.c
|
|
mynewt-nimble/nimble/host/src/ble_eddystone.c
|
|
mynewt-nimble/nimble/host/src/ble_gap.c
|
|
mynewt-nimble/nimble/host/src/ble_gattc.c
|
|
mynewt-nimble/nimble/host/src/ble_gatts.c
|
|
mynewt-nimble/nimble/host/src/ble_gatts_lcl.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_adv.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_atomic.c
|
|
mynewt-nimble/nimble/host/src/ble_hs.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_cfg.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_conn.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_flow.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_hci.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_hci_cmd.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_hci_evt.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_hci_util.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_id.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_log.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_mbuf.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_misc.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_mqueue.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_periodic_sync.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_pvcy.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_shutdown.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_startup.c
|
|
mynewt-nimble/nimble/host/src/ble_hs_stop.c
|
|
mynewt-nimble/nimble/host/src/ble_ibeacon.c
|
|
mynewt-nimble/nimble/host/src/ble_l2cap.c
|
|
mynewt-nimble/nimble/host/src/ble_l2cap_coc.c
|
|
mynewt-nimble/nimble/host/src/ble_l2cap_sig.c
|
|
mynewt-nimble/nimble/host/src/ble_l2cap_sig_cmd.c
|
|
mynewt-nimble/nimble/host/src/ble_sm_alg.c
|
|
mynewt-nimble/nimble/host/src/ble_sm.c
|
|
mynewt-nimble/nimble/host/src/ble_sm_cmd.c
|
|
mynewt-nimble/nimble/host/src/ble_sm_lgcy.c
|
|
mynewt-nimble/nimble/host/src/ble_sm_sc.c
|
|
mynewt-nimble/nimble/host/src/ble_store.c
|
|
mynewt-nimble/nimble/host/src/ble_store_util.c
|
|
mynewt-nimble/nimble/host/src/ble_uuid.c
|
|
mynewt-nimble/nimble/host/util/src/addr.c
|
|
mynewt-nimble/nimble/host/store/ram/src/ble_store_ram.c)
|
|
|
|
set(SRCS ${SRCS_PORTING} ${SRCS_NPL} ${SRCS_TRANSPORT} ${SRCS_SERVICES}
|
|
${SRCS_HOST})
|
|
|
|
if(CONFIG_NIMBLE_TINYCRYPT)
|
|
list(
|
|
APPEND
|
|
SRCS
|
|
mynewt-nimble/ext/tinycrypt/src/aes_decrypt.c
|
|
mynewt-nimble/ext/tinycrypt/src/aes_encrypt.c
|
|
mynewt-nimble/ext/tinycrypt/src/cbc_mode.c
|
|
mynewt-nimble/ext/tinycrypt/src/ccm_mode.c
|
|
mynewt-nimble/ext/tinycrypt/src/cmac_mode.c
|
|
mynewt-nimble/ext/tinycrypt/src/ctr_mode.c
|
|
mynewt-nimble/ext/tinycrypt/src/ctr_prng.c
|
|
mynewt-nimble/ext/tinycrypt/src/ecc.c
|
|
mynewt-nimble/ext/tinycrypt/src/ecc_dh.c
|
|
mynewt-nimble/ext/tinycrypt/src/ecc_dsa.c
|
|
mynewt-nimble/ext/tinycrypt/src/ecc_platform_specific.c
|
|
mynewt-nimble/ext/tinycrypt/src/hmac.c
|
|
mynewt-nimble/ext/tinycrypt/src/hmac_prng.c
|
|
mynewt-nimble/ext/tinycrypt/src/sha256.c
|
|
mynewt-nimble/ext/tinycrypt/src/utils.c)
|
|
target_include_directories(nimble
|
|
PRIVATE mynewt-nimble/ext/tinycrypt/include)
|
|
endif()
|
|
|
|
if(CONFIG_NIMBLE_MESH)
|
|
# TODO
|
|
list(
|
|
APPEND
|
|
SRCS
|
|
mynewt-nimble/nimble/host/mesh/src/access.c
|
|
mynewt-nimble/nimble/host/mesh/src/adv.c
|
|
mynewt-nimble/nimble/host/mesh/src/adv_ext.c
|
|
mynewt-nimble/nimble/host/mesh/src/adv_legacy.c
|
|
mynewt-nimble/nimble/host/mesh/src/aes-ccm.c
|
|
mynewt-nimble/nimble/host/mesh/src/app_keys.c)
|
|
target_include_directories(nimble
|
|
PUBLIC mynewt-nimble/nimble/host/mesh/include)
|
|
endif()
|
|
|
|
set(INCLUDES
|
|
mynewt-nimble/nimble/include
|
|
mynewt-nimble/nimble/host/include
|
|
mynewt-nimble/nimble/host/util/include
|
|
mynewt-nimble/nimble/host/services/ans/include
|
|
mynewt-nimble/nimble/host/services/bas/include
|
|
mynewt-nimble/nimble/host/services/dis/include
|
|
mynewt-nimble/nimble/host/services/gap/include
|
|
mynewt-nimble/nimble/host/services/gatt/include
|
|
mynewt-nimble/nimble/host/services/ias/include
|
|
mynewt-nimble/nimble/host/services/ipss/include
|
|
mynewt-nimble/nimble/host/services/lls/include
|
|
mynewt-nimble/nimble/host/services/tps/include
|
|
mynewt-nimble/nimble/host/store/ram/include
|
|
mynewt-nimble/nimble/transport/include
|
|
mynewt-nimble/porting/nimble/include)
|
|
|
|
target_include_directories(
|
|
nimble PUBLIC mynewt-nimble/porting/npl/nuttx/include
|
|
mynewt-nimble/nimble/transport/socket/include)
|
|
|
|
target_include_directories(nimble PUBLIC include ${INCLUDES})
|
|
|
|
target_compile_options(nimble PUBLIC -Wno-pointer-to-int-cast -Wno-undef
|
|
-Wno-format -Wno-unused-but-set-variable)
|
|
target_sources(nimble PRIVATE ${SRCS})
|
|
endif()
|