Skip to content

Commit 7abd586

Browse files
projectgusme-no-dev
authored andcommitted
Add component CMakeLists.txt file for use with CMake-based build system (#1508)
Includes verification script (for Travis) that CMakeLists.txt contents match repo & submodule source files
1 parent c7b3800 commit 7abd586

File tree

2 files changed

+217
-0
lines changed

2 files changed

+217
-0
lines changed

Diff for: CMakeLists.txt

+191
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
set(CORE_SRCS
2+
cores/esp32/base64.cpp
3+
cores/esp32/cbuf.cpp
4+
cores/esp32/esp32-hal-adc.c
5+
cores/esp32/esp32-hal-bt.c
6+
cores/esp32/esp32-hal-dac.c
7+
cores/esp32/esp32-hal-gpio.c
8+
cores/esp32/esp32-hal-i2c.c
9+
cores/esp32/esp32-hal-ledc.c
10+
cores/esp32/esp32-hal-matrix.c
11+
cores/esp32/esp32-hal-misc.c
12+
cores/esp32/esp32-hal-sigmadelta.c
13+
cores/esp32/esp32-hal-spi.c
14+
cores/esp32/esp32-hal-time.c
15+
cores/esp32/esp32-hal-timer.c
16+
cores/esp32/esp32-hal-touch.c
17+
cores/esp32/esp32-hal-uart.c
18+
cores/esp32/Esp.cpp
19+
cores/esp32/HardwareSerial.cpp
20+
cores/esp32/IPAddress.cpp
21+
cores/esp32/IPv6Address.cpp
22+
cores/esp32/libb64/cdecode.c
23+
cores/esp32/libb64/cencode.c
24+
cores/esp32/MD5Builder.cpp
25+
cores/esp32/Print.cpp
26+
cores/esp32/stdlib_noniso.c
27+
cores/esp32/Stream.cpp
28+
cores/esp32/StreamString.cpp
29+
cores/esp32/wiring_pulse.c
30+
cores/esp32/wiring_shift.c
31+
cores/esp32/WMath.cpp
32+
cores/esp32/WString.cpp
33+
)
34+
35+
set(LIBRARY_SRCS
36+
libraries/ArduinoOTA/src/ArduinoOTA.cpp
37+
libraries/BluetoothSerial/src/BluetoothSerial.cpp
38+
libraries/DNSServer/src/DNSServer.cpp
39+
libraries/EEPROM/EEPROM.cpp
40+
libraries/ESPmDNS/src/ESPmDNS.cpp
41+
libraries/FS/src/FS.cpp
42+
libraries/FS/src/vfs_api.cpp
43+
libraries/HTTPClient/src/HTTPClient.cpp
44+
libraries/Preferences/src/Preferences.cpp
45+
libraries/SD_MMC/src/SD_MMC.cpp
46+
libraries/SD/src/SD.cpp
47+
libraries/SD/src/sd_diskio.cpp
48+
libraries/SD/src/sd_diskio_crc.c
49+
libraries/SimpleBLE/src/SimpleBLE.cpp
50+
libraries/SPIFFS/src/SPIFFS.cpp
51+
libraries/SPI/src/SPI.cpp
52+
libraries/Ticker/src/Ticker.cpp
53+
libraries/Update/src/Updater.cpp
54+
libraries/WiFiClientSecure/src/ssl_client.cpp
55+
libraries/WiFiClientSecure/src/WiFiClientSecure.cpp
56+
libraries/WiFi/src/ETH.cpp
57+
libraries/WiFi/src/WiFiAP.cpp
58+
libraries/WiFi/src/WiFiClient.cpp
59+
libraries/WiFi/src/WiFi.cpp
60+
libraries/WiFi/src/WiFiGeneric.cpp
61+
libraries/WiFi/src/WiFiMulti.cpp
62+
libraries/WiFi/src/WiFiScan.cpp
63+
libraries/WiFi/src/WiFiServer.cpp
64+
libraries/WiFi/src/WiFiSTA.cpp
65+
libraries/WiFi/src/WiFiUdp.cpp
66+
libraries/Wire/src/Wire.cpp
67+
)
68+
69+
set(AZURE_SRCS
70+
libraries/AzureIoT/src/az_iot/azureiotcerts.c
71+
libraries/AzureIoT/src/az_iot/c-utility/pal/agenttime.c
72+
libraries/AzureIoT/src/az_iot/c-utility/pal/dns_async.c
73+
libraries/AzureIoT/src/az_iot/c-utility/pal/freertos/lock.c
74+
libraries/AzureIoT/src/az_iot/c-utility/pal/freertos/threadapi.c
75+
libraries/AzureIoT/src/az_iot/c-utility/pal/freertos/tickcounter.c
76+
libraries/AzureIoT/src/az_iot/c-utility/pal/lwip/sntp_lwip.c
77+
libraries/AzureIoT/src/az_iot/c-utility/pal/socket_async.c
78+
libraries/AzureIoT/src/az_iot/c-utility/pal/src/platform_openssl_compact.c
79+
libraries/AzureIoT/src/az_iot/c-utility/pal/src/tlsio_openssl_compact.c
80+
libraries/AzureIoT/src/az_iot/c-utility/pal/tlsio_options.c
81+
libraries/AzureIoT/src/az_iot/c-utility/src/base64.c
82+
libraries/AzureIoT/src/az_iot/c-utility/src/buffer.c
83+
libraries/AzureIoT/src/az_iot/c-utility/src/connection_string_parser.c
84+
libraries/AzureIoT/src/az_iot/c-utility/src/consolelogger.c
85+
libraries/AzureIoT/src/az_iot/c-utility/src/constbuffer.c
86+
libraries/AzureIoT/src/az_iot/c-utility/src/constmap.c
87+
libraries/AzureIoT/src/az_iot/c-utility/src/crt_abstractions.c
88+
libraries/AzureIoT/src/az_iot/c-utility/src/doublylinkedlist.c
89+
libraries/AzureIoT/src/az_iot/c-utility/src/gballoc.c
90+
libraries/AzureIoT/src/az_iot/c-utility/src/gb_stdio.c
91+
libraries/AzureIoT/src/az_iot/c-utility/src/gb_time.c
92+
libraries/AzureIoT/src/az_iot/c-utility/src/hmac.c
93+
libraries/AzureIoT/src/az_iot/c-utility/src/hmacsha256.c
94+
libraries/AzureIoT/src/az_iot/c-utility/src/httpapiex.c
95+
libraries/AzureIoT/src/az_iot/c-utility/src/httpapiexsas.c
96+
libraries/AzureIoT/src/az_iot/c-utility/src/httpheaders.c
97+
libraries/AzureIoT/src/az_iot/c-utility/src/http_proxy_io.c
98+
libraries/AzureIoT/src/az_iot/c-utility/src/map.c
99+
libraries/AzureIoT/src/az_iot/c-utility/src/optionhandler.c
100+
libraries/AzureIoT/src/az_iot/c-utility/src/sastoken.c
101+
libraries/AzureIoT/src/az_iot/c-utility/src/sha1.c
102+
libraries/AzureIoT/src/az_iot/c-utility/src/sha224.c
103+
libraries/AzureIoT/src/az_iot/c-utility/src/sha384-512.c
104+
libraries/AzureIoT/src/az_iot/c-utility/src/singlylinkedlist.c
105+
libraries/AzureIoT/src/az_iot/c-utility/src/strings.c
106+
libraries/AzureIoT/src/az_iot/c-utility/src/string_tokenizer.c
107+
libraries/AzureIoT/src/az_iot/c-utility/src/urlencode.c
108+
libraries/AzureIoT/src/az_iot/c-utility/src/usha.c
109+
libraries/AzureIoT/src/az_iot/c-utility/src/vector.c
110+
libraries/AzureIoT/src/az_iot/c-utility/src/xio.c
111+
libraries/AzureIoT/src/az_iot/c-utility/src/xlogging.c
112+
libraries/AzureIoT/src/az_iot/iothub_client/src/blob.c
113+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothub_client_authorization.c
114+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothub_client.c
115+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothub_client_ll.c
116+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothub_client_retry_control.c
117+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothub_message.c
118+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothubtransport.c
119+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothubtransportmqtt.c
120+
libraries/AzureIoT/src/az_iot/iothub_client/src/iothubtransport_mqtt_common.c
121+
libraries/AzureIoT/src/az_iot/iothub_client/src/version.c
122+
libraries/AzureIoT/src/az_iot/umqtt/src/mqtt_client.c
123+
libraries/AzureIoT/src/az_iot/umqtt/src/mqtt_codec.c
124+
libraries/AzureIoT/src/az_iot/umqtt/src/mqtt_message.c
125+
libraries/AzureIoT/src/AzureIotHub.cpp
126+
libraries/AzureIoT/src/Esp32MQTTClient.cpp
127+
)
128+
129+
set(BLE_SRCS
130+
libraries/BLE/src/BLE2902.cpp
131+
libraries/BLE/src/BLE2904.cpp
132+
libraries/BLE/src/BLEAddress.cpp
133+
libraries/BLE/src/BLEAdvertisedDevice.cpp
134+
libraries/BLE/src/BLEAdvertising.cpp
135+
libraries/BLE/src/BLEBeacon.cpp
136+
libraries/BLE/src/BLECharacteristic.cpp
137+
libraries/BLE/src/BLECharacteristicMap.cpp
138+
libraries/BLE/src/BLEClient.cpp
139+
libraries/BLE/src/BLEDescriptor.cpp
140+
libraries/BLE/src/BLEDescriptorMap.cpp
141+
libraries/BLE/src/BLEDevice.cpp
142+
libraries/BLE/src/BLEExceptions.cpp
143+
libraries/BLE/src/BLEHIDDevice.cpp
144+
libraries/BLE/src/BLERemoteCharacteristic.cpp
145+
libraries/BLE/src/BLERemoteDescriptor.cpp
146+
libraries/BLE/src/BLERemoteService.cpp
147+
libraries/BLE/src/BLEScan.cpp
148+
libraries/BLE/src/BLESecurity.cpp
149+
libraries/BLE/src/BLEServer.cpp
150+
libraries/BLE/src/BLEService.cpp
151+
libraries/BLE/src/BLEServiceMap.cpp
152+
libraries/BLE/src/BLEUtils.cpp
153+
libraries/BLE/src/BLEUUID.cpp
154+
libraries/BLE/src/BLEValue.cpp
155+
libraries/BLE/src/FreeRTOS.cpp
156+
libraries/BLE/src/GeneralUtils.cpp
157+
)
158+
159+
set(COMPONENT_SRCS ${CORE_SRCS} ${LIBRARY_SRCS} ${AZURE_SRCS} ${BLE_SRCS})
160+
161+
set(COMPONENT_ADD_INCLUDEDIRS
162+
variants/esp32/
163+
cores/esp32/
164+
libraries/ArduinoOTA/src
165+
libraries/AzureIoT/src
166+
libraries/BLE/src
167+
libraries/BluetoothSerial/src
168+
libraries/DNSServer/src
169+
libraries/ESP32/src
170+
libraries/ESPmDNS/src
171+
libraries/FS/src
172+
libraries/HTTPClient/src
173+
libraries/Preferences/src
174+
libraries/SD_MMC/src
175+
libraries/SD/src
176+
libraries/SimpleBLE/src
177+
libraries/SPIFFS/src
178+
libraries/SPI/src
179+
libraries/Ticker/src
180+
libraries/Update/src
181+
libraries/WiFiClientSecure/src
182+
libraries/WiFi/src
183+
libraries/Wire/src
184+
)
185+
186+
set(COMPONENT_PRIV_INCLUDEDIRS cores/esp32/libb64)
187+
188+
set(COMPONENT_REQUIRES spi_flash mbedtls mdns ethernet)
189+
set(COMPONENT_PRIV_REQUIRES fatfs nvs_flash app_update spiffs bootloader_support openssl)
190+
191+
register_component()

Diff for: tools/check_cmakelists.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
#
3+
# This script is for Travis. It checks all non-examples source files in libraries/ and cores/ are listed in
4+
# CMakeLists.txt for the cmake-based IDF component
5+
#
6+
# If you see an error running this script, edit CMakeLists.txt and add any new source files into your PR
7+
#
8+
9+
set -e
10+
11+
cd "`dirname $0`/.." # cd to arduino-esp32 root
12+
13+
# find all source files in repo
14+
REPO_SRCS=`find cores/esp32/ libraries/ -name 'examples' -prune -o -name 'main.cpp' -prune -o -name '*.c' -print -o -name '*.cpp' -print | sort`
15+
16+
# find all source files named in CMakeLists.txt COMPONENT_SRCS
17+
CMAKE_SRCS=`cmake --trace-expand -C CMakeLists.txt 2>&1 | grep COMPONENT_SRCS | sed 's/.\+COMPONENT_SRCS //' | sed 's/ )//' | tr ' ;' '\n' | sort`
18+
19+
if ! diff -u0 --label "Repo Files" --label "COMPONENT_SRCS" <(echo "$REPO_SRCS") <(echo "$CMAKE_SRCS"); then
20+
echo "Source files in repo (-) and source files in CMakeLists.txt (+) don't match"
21+
echo "Edit CMakeLists.txt as appropriate to add/remove source files from COMPONENT_SRCS"
22+
exit 1
23+
fi
24+
25+
echo "CMakeLists.txt and repo source files match"
26+
exit 0

0 commit comments

Comments
 (0)