cmake: support for nimble
This commit is contained in:
parent
b129ddd6e0
commit
dda21ad57e
26
examples/nimble/CMakeLists.txt
Normal file
26
examples/nimble/CMakeLists.txt
Normal file
@ -0,0 +1,26 @@
|
||||
# ##############################################################################
|
||||
# apps/examples/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_EXAMPLES_NIMBLE)
|
||||
nuttx_add_application(
|
||||
NAME nimble
|
||||
SRCS ${CMAKE_CURRENT_LIST_DIR}/nimble_main.c
|
||||
DEPENDS nimble)
|
||||
endif()
|
@ -1,5 +1,5 @@
|
||||
# ##############################################################################
|
||||
# apps/examples/usrsocktest/CMakeLists.txt
|
||||
# apps/wireless/bluetooth/btsak/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
|
||||
|
199
wireless/bluetooth/nimble/CMakeLists.txt
Normal file
199
wireless/bluetooth/nimble/CMakeLists.txt
Normal file
@ -0,0 +1,199 @@
|
||||
# ##############################################################################
|
||||
# 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)
|
||||
target_sources(nimble PRIVATE ${SRCS})
|
||||
endif()
|
Loading…
Reference in New Issue
Block a user