Fix compilation when using CMake.

* Update readme to include note about compiling with Arduino component.
This commit is contained in:
h2zero 2021-01-15 19:56:06 -07:00
parent 26ab9760da
commit a4e085f71a
2 changed files with 55 additions and 23 deletions

View file

@ -4,7 +4,8 @@ cmake_minimum_required(VERSION 3.5)
set(SUPPORTED_TARGETS esp32) set(SUPPORTED_TARGETS esp32)
idf_component_register(SRCS "src/FreeRTOS.cpp" set(COMPONENT_SRCS
"src/FreeRTOS.cpp"
"src/NimBLE2904.cpp" "src/NimBLE2904.cpp"
"src/NimBLEAddress.cpp" "src/NimBLEAddress.cpp"
"src/NimBLEAdvertisedDevice.cpp" "src/NimBLEAdvertisedDevice.cpp"
@ -25,5 +26,31 @@ idf_component_register(SRCS "src/FreeRTOS.cpp"
"src/NimBLEService.cpp" "src/NimBLEService.cpp"
"src/NimBLEUtils.cpp" "src/NimBLEUtils.cpp"
"src/NimBLEUUID.cpp" "src/NimBLEUUID.cpp"
INCLUDE_DIRS "src" )
REQUIRES bt)
set(COMPONENT_ADD_INCLUDEDIRS
src
)
set(COMPONENT_PRIV_REQUIRES
nvs_flash
bt
)
if(COMPONENTS MATCHES "esp-nimble-component")
list(APPEND COMPONENT_PRIV_REQUIRES
esp-nimble-component
)
elseif(COMPONENTS MATCHES "nimble")
list(APPEND COMPONENT_PRIV_REQUIRES
nimble
)
endif()
if(COMPONENTS MATCHES "arduino")
list(APPEND COMPONENT_PRIV_REQUIRES
arduino
)
endif()
register_component()

View file

@ -55,6 +55,11 @@ Also see [Improvements_and_updates](docs/Improvements_and_updates.md) for inform
[Full API documentation and class list can be found here.](https://h2zero.github.io/esp-nimble-cpp/) [Full API documentation and class list can be found here.](https://h2zero.github.io/esp-nimble-cpp/)
<br/> <br/>
## Using with Arduino as an IDF component and CMake
When using this library along with Arduino and compiling with *CMake* you must add `add_compile_definitions(ARDUINO_ARCH_ESP32=1)`
in your project/CMakeLists.txt after the line `include($ENV{IDF_PATH}/tools/cmake/project.cmake)` to prevent Arduino from releasing BLE memory.
<br>
# Acknowledgments # Acknowledgments
* [nkolban](https://github.com/nkolban) and [chegewara](https://github.com/chegewara) for the [original esp32 BLE library](https://github.com/nkolban/esp32-snippets/tree/master/cpp_utils) this project was derived from. * [nkolban](https://github.com/nkolban) and [chegewara](https://github.com/chegewara) for the [original esp32 BLE library](https://github.com/nkolban/esp32-snippets/tree/master/cpp_utils) this project was derived from.
* [beegee-tokyo](https://github.com/beegee-tokyo) for contributing your time to test/debug and contributing the beacon examples. * [beegee-tokyo](https://github.com/beegee-tokyo) for contributing your time to test/debug and contributing the beacon examples.