General REQUIRES page see here.

ESP-IDF specific REQUIRES list

If you don’t have a REQUIRES list in CMakeLists.txt that is declaring dependencies on certain special components, you typically don’t have to add basic components as REQUIRES also, due to the implicit dependency behaviour of main component (see here).

If you do have a REQUIRES section, you will need to add things like esp_timer, esp_adc, etc components to the REQUIRES list if you are using them, otherwise you will get errors like these:

  • fatal error: esp_adc/adc_oneshot.h: No such file or directory
  • fatal error: esp_timer.h: No such file or directory

Example CMakeLists.txt with a REQUIRES list

idf_component_register(
					SRCS
							"ap-main.c"
							"led-is31fl3238.c"
							"io-pca9539.c"
							"usb-memory-stick.c"
					INCLUDE_DIRS
							"."
					REQUIRES
							esp_timer
							esp_adc
							usb
							vfs
					)

ESP-IDF general library REQUIRES names

REQUIRES
	esp_timer
	esp_adc