xref: /btstack/port/esp32/components/btstack/CMakeLists.txt (revision 366f7a2538e77b75de9c19704bd4204a3559452d)
1# Needed to include the lwIP's HTTP app, which is not included by default.
2set(IDF_PATH $ENV{IDF_PATH})
3
4if (CMAKE_HOST_WIN32)
5    string(REPLACE "\\" "/" IDF_PATH $ENV{IDF_PATH})
6endif()
7
8set(include_dirs
9    "3rd-party/bluedroid/decoder/include"
10    "3rd-party/bluedroid/encoder/include"
11    "3rd-party/hxcmod-player"
12    "3rd-party/hxcmod-player/mods"
13    "3rd-party/lc3-google/include"
14    "3rd-party/lwip/dhcp-server"
15    "3rd-party/md5"
16    "3rd-party/yxml"
17    "src/classic"
18    "src/ble/gatt-service"
19    "src/ble"
20    "src/classic"
21    "src"
22    "platform/embedded"
23    "platform/freertos"
24    "platform/lwip"
25    "${IDF_PATH}/components/lwip/lwip/src/include"
26    "include")
27
28set(src_dirs
29    "3rd-party/bluedroid/decoder/srce"
30    "3rd-party/bluedroid/encoder/srce"
31    "3rd-party/hxcmod-player"
32    "3rd-party/hxcmod-player/mods"
33    "3rd-party/lwip/dhcp-server"
34    "3rd-party/md5"
35    "3rd-party/micro-ecc"
36    "3rd-party/yxml"
37    "src/ble/gatt-service"
38    "src/ble"
39    "src/mesh"
40    "src/"
41    "platform/embedded"
42    "platform/freertos"
43    "platform/lwip"
44    "${IDF_PATH}/components/lwip/lwip/src/apps/http"
45    ".")
46
47if(${CONFIG_BTSTACK_AUDIO})
48    if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER_EQUAL "5.0")
49        set(exclude_srcs "btstack_audio_esp32_v4.c")
50    else()
51        set(exclude_srcs "btstack_audio_esp32_v5.c")
52    endif()
53else()
54    set(exclude_srcs "btstack_audio_esp32_v4.c" "btstack_audio_esp32_v5.c")
55endif()
56
57if(CONFIG_IDF_TARGET_ESP32)
58        list(APPEND src_dirs "src/classic")
59endif()
60
61set(priv_include_dirs
62        "3rd-party/micro-ecc"
63        )
64
65set(priv_requires
66        "nvs_flash"
67        "bt"
68        "driver"
69        "lwip"
70        "vfs"
71        )
72
73idf_component_register(SRC_DIRS "${src_dirs}"
74                    EXCLUDE_SRCS "${exclude_srcs}"
75                    INCLUDE_DIRS "${include_dirs}"
76                    PRIV_INCLUDE_DIRS "${priv_include_dirs}"
77                    PRIV_REQUIRES ${priv_requires})
78