@@ -40,44 +40,105 @@ set(CORE_SRCS
40
40
cores/esp32/WString.cpp
41
41
)
42
42
43
- set (LIBRARY_SRCS
44
- libraries/ArduinoOTA/src/ArduinoOTA.cpp
45
- libraries/AsyncUDP/src/AsyncUDP.cpp
43
+ set (ARDUINO_ALL_LIBRARIES
44
+ ArduinoOTA
45
+ AsyncUDP
46
+ BLE
47
+ BluetoothSerial
48
+ DNSServer
49
+ EEPROM
50
+ ESPmDNS
51
+ FFat
52
+ FS
53
+ HTTPClient
54
+ HTTPUpdate
55
+ LITTLEFS
56
+ NetBIOS
57
+ Preferences
58
+ RainMaker
59
+ SD_MMC
60
+ SD
61
+ SPIFFS
62
+ SPI
63
+ Ticker
64
+ Update
65
+ WebServer
66
+ WiFiClientSecure
67
+ WiFi
68
+ WiFiProv
69
+ Wire
70
+ )
71
+
72
+ set (ARDUINO_LIBRARY_ArduinoOTA_SRCS libraries/ArduinoOTA/src/ArduinoOTA.cpp)
73
+ set (ARDUINO_LIBRARY_ArduinoOTA_REQUIRES esp_https_ota)
74
+
75
+ set (ARDUINO_LIBRARY_AsyncUDP_SRCS libraries/AsyncUDP/src/AsyncUDP.cpp)
76
+
77
+ set (ARDUINO_LIBRARY_BluetoothSerial_SRCS
46
78
libraries/BluetoothSerial/src/BluetoothSerial.cpp
47
79
libraries/BluetoothSerial/src/BTAddress.cpp
48
80
libraries/BluetoothSerial/src/BTAdvertisedDeviceSet.cpp
49
- libraries/BluetoothSerial/src/BTScanResultsSet.cpp
50
- libraries/DNSServer/src/DNSServer.cpp
51
- libraries/EEPROM/src/EEPROM.cpp
52
- libraries/ESPmDNS/src/ESPmDNS.cpp
53
- libraries/FFat/src/FFat.cpp
81
+ libraries/BluetoothSerial/src/BTScanResultsSet.cpp)
82
+
83
+ set (ARDUINO_LIBRARY_DNSServer_SRCS libraries/DNSServer/src/DNSServer.cpp)
84
+
85
+ set (ARDUINO_LIBRARY_EEPROM_SRCS libraries/EEPROM/src/EEPROM.cpp)
86
+
87
+ set (ARDUINO_LIBRARY_ESPmDNS_SRCS libraries/ESPmDNS/src/ESPmDNS.cpp)
88
+
89
+ set (ARDUINO_LIBRARY_FFat_SRCS libraries/FFat/src/FFat.cpp)
90
+
91
+ set (ARDUINO_LIBRARY_FS_SRCS
54
92
libraries/FS/src/FS.cpp
55
- libraries/FS/src/vfs_api.cpp
56
- libraries/HTTPClient/src/HTTPClient.cpp
57
- libraries/HTTPUpdate/src/HTTPUpdate.cpp
58
- libraries/LITTLEFS/src/LITTLEFS.cpp
59
- libraries/NetBIOS/src/NetBIOS.cpp
60
- libraries/Preferences/src/Preferences.cpp
93
+ libraries/FS/src/vfs_api.cpp)
94
+
95
+ set (ARDUINO_LIBRARY_HTTPClient_SRCS libraries/HTTPClient/src/HTTPClient.cpp)
96
+
97
+ set (ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp)
98
+
99
+ set (ARDUINO_LIBRARY_LITTLEFS_SRCS libraries/LITTLEFS/src/LITTLEFS.cpp)
100
+ set (ARDUINO_LIBRARY_LITTLEFS_REQUIRES esp_littlefs)
101
+
102
+ set (ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp)
103
+
104
+ set (ARDUINO_LIBRARY_Preferences_SRCS libraries/Preferences/src/Preferences.cpp)
105
+
106
+ set (ARDUINO_LIBRARY_RainMaker_SRCS
61
107
libraries/RainMaker/src/RMaker.cpp
62
108
libraries/RainMaker/src/RMakerNode.cpp
63
109
libraries/RainMaker/src/RMakerParam.cpp
64
110
libraries/RainMaker/src/RMakerDevice.cpp
65
- libraries/RainMaker/src/RMakerType.cpp
66
- libraries/SD_MMC/src/SD_MMC.cpp
111
+ libraries/RainMaker/src/RMakerType.cpp)
112
+
113
+ set (ARDUINO_LIBRARY_SD_MMC_SRCS libraries/SD_MMC/src/SD_MMC.cpp)
114
+
115
+ set (ARDUINO_LIBRARY_SD_SRCS
67
116
libraries/SD/src/SD.cpp
68
117
libraries/SD/src/sd_diskio.cpp
69
- libraries/SD/src/sd_diskio_crc.c
70
- libraries/SimpleBLE/src/SimpleBLE.cpp
71
- libraries/SPIFFS/src/SPIFFS.cpp
72
- libraries/SPI/src/SPI.cpp
73
- libraries/Ticker/src/Ticker.cpp
118
+ libraries/SD/src/sd_diskio_crc.c)
119
+
120
+ set (ARDUINO_LIBRARY_SimpleBLE_SRCS libraries/SimpleBLE/src/SimpleBLE.cpp)
121
+
122
+ set (ARDUINO_LIBRARY_SPIFFS_SRCS libraries/SPIFFS/src/SPIFFS.cpp)
123
+
124
+ set (ARDUINO_LIBRARY_SPI_SRCS libraries/SPI/src/SPI.cpp)
125
+
126
+ set (ARDUINO_LIBRARY_Ticker_SRCS libraries/Ticker/src/Ticker.cpp)
127
+
128
+ set (ARDUINO_LIBRARY_Update_SRCS
74
129
libraries/Update/src/Updater.cpp
75
- libraries/Update/src/HttpsOTAUpdate.cpp
130
+ libraries/Update/src/HttpsOTAUpdate.cpp)
131
+
132
+ set (ARDUINO_LIBRARY_WebServer_SRCS
76
133
libraries/WebServer/src/WebServer.cpp
77
134
libraries/WebServer/src/Parsing.cpp
78
- libraries/WebServer/src/detail/mimetable.cpp
135
+ libraries/WebServer/src/detail/mimetable.cpp)
136
+
137
+ set (ARDUINO_LIBRARY_WiFiClientSecure_SRCS
79
138
libraries/WiFiClientSecure/src/ssl_client.cpp
80
- libraries/WiFiClientSecure/src/WiFiClientSecure.cpp
139
+ libraries/WiFiClientSecure/src/WiFiClientSecure.cpp)
140
+
141
+ set (ARDUINO_LIBRARY_WiFi_SRCS
81
142
libraries/WiFi/src/ETH.cpp
82
143
libraries/WiFi/src/WiFiAP.cpp
83
144
libraries/WiFi/src/WiFiClient.cpp
@@ -87,12 +148,13 @@ set(LIBRARY_SRCS
87
148
libraries/WiFi/src/WiFiScan.cpp
88
149
libraries/WiFi/src/WiFiServer.cpp
89
150
libraries/WiFi/src/WiFiSTA.cpp
90
- libraries/WiFi/src/WiFiUdp.cpp
91
- libraries/WiFiProv/src/WiFiProv.cpp
92
- libraries/Wire/src/Wire.cpp
93
- )
151
+ libraries/WiFi/src/WiFiUdp.cpp)
152
+
153
+ set (ARDUINO_LIBRARY_WiFiProv_SRCS libraries/WiFiProv/src/WiFiProv.cpp)
154
+
155
+ set (ARDUINO_LIBRARY_Wire_SRCS libraries/Wire/src/Wire.cpp)
94
156
95
- set (BLE_SRCS
157
+ set (ARDUINO_LIBRARY_BLE_SRCS
96
158
libraries/BLE/src/BLE2902.cpp
97
159
libraries/BLE/src/BLE2904.cpp
98
160
libraries/BLE/src/BLEAddress.cpp
@@ -125,50 +187,25 @@ set(BLE_SRCS
125
187
)
126
188
127
189
128
- set (includedirs
129
- variants/${IDF_TARGET} /
130
- cores/esp32/
131
- libraries/ArduinoOTA/src
132
- libraries/AsyncUDP/src
133
- libraries/BLE/src
134
- libraries/BluetoothSerial/src
135
- libraries/DNSServer/src
136
- libraries/EEPROM/src
137
- libraries/ESP32/src
138
- libraries/ESPmDNS/src
139
- libraries/FFat/src
140
- libraries/FS/src
141
- libraries/HTTPClient/src
142
- libraries/HTTPUpdate/src
143
- libraries/LITTLEFS/src
144
- libraries/NetBIOS/src
145
- libraries/Preferences/src
146
- libraries/RainMaker/src
147
- libraries/SD_MMC/src
148
- libraries/SD/src
149
- libraries/SimpleBLE/src
150
- libraries/SPIFFS/src
151
- libraries/SPI/src
152
- libraries/Ticker/src
153
- libraries/Update/src
154
- libraries/WebServer/src
155
- libraries/WiFiClientSecure/src
156
- libraries/WiFi/src
157
- libraries/WiFiProv/src
158
- libraries/Wire/src
159
- )
160
-
161
- set (srcs ${CORE_SRCS} ${LIBRARY_SRCS} ${BLE_SRCS} )
190
+ set (includedirs variants/${IDF_TARGET} / cores/esp32/)
191
+ set (srcs ${CORE_SRCS} )
162
192
set (priv_includes cores/esp32/libb64)
163
193
set (requires spi_flash mbedtls mdns esp_adc_cal)
164
- set (priv_requires fatfs nvs_flash app_update spiffs bootloader_support openssl bt arduino_tinyusb main)
194
+ set (priv_requires fatfs nvs_flash app_update spiffs bootloader_support openssl bt main)
165
195
166
- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ArduinoOTA)
167
- list (APPEND priv_requires esp_https_ota)
168
- endif ()
169
- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_LITTLEFS)
170
- list (APPEND priv_requires esp_littlefs)
171
- endif ()
196
+ foreach (libname IN LISTS ARDUINO_ALL_LIBRARIES)
197
+ if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_${libname} )
198
+ if (ARDUINO_LIBRARY_${libname} _SRCS)
199
+ list (APPEND srcs ${ARDUINO_LIBRARY_${libname} _SRCS})
200
+ endif ()
201
+ if (ARDUINO_LIBRARY_${libname} _REQUIRES)
202
+ list (APPEND priv_requires ${ARDUINO_LIBRARY_${libname} _REQUIRES})
203
+ endif ()
204
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR} /libraries/${libname} /src)
205
+ list (APPEND includedirs libraries/${libname} /src)
206
+ endif ()
207
+ endif ()
208
+ endforeach ()
172
209
173
210
idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires} )
174
211
0 commit comments