mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			120 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
idf_build_get_property(target IDF_TARGET)
 | 
						|
 | 
						|
if(${target} STREQUAL "linux")
 | 
						|
    return() # This component is not supported by the POSIX/Linux simulator
 | 
						|
endif()
 | 
						|
 | 
						|
# Always compiled source files
 | 
						|
set(srcs)
 | 
						|
 | 
						|
# Always included headers
 | 
						|
set(includes "deprecated"
 | 
						|
             "i2c/include"
 | 
						|
             "touch_sensor/include"
 | 
						|
             "twai/include")
 | 
						|
 | 
						|
# Always included linker fragments
 | 
						|
set(ldfragments "")
 | 
						|
 | 
						|
# ADC related source files (deprecated)
 | 
						|
if(CONFIG_SOC_ADC_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/adc_legacy.c")
 | 
						|
 | 
						|
    if(CONFIG_SOC_ADC_DMA_SUPPORTED)
 | 
						|
        list(APPEND srcs "deprecated/adc_dma_legacy.c")
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
# DAC related source files
 | 
						|
if(CONFIG_SOC_DAC_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/dac_common_legacy.c"
 | 
						|
                     "deprecated/${target}/dac_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# GPTimer legacy driver
 | 
						|
if(CONFIG_SOC_GPTIMER_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/timer_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# I2C related source files
 | 
						|
if(CONFIG_SOC_I2C_SUPPORTED)
 | 
						|
    list(APPEND srcs "i2c/i2c.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# I2S related source files
 | 
						|
if(CONFIG_SOC_I2S_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/i2s_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# MCPWM legacy driver
 | 
						|
if(CONFIG_SOC_MCPWM_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/mcpwm_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# PCNT legacy driver
 | 
						|
if(CONFIG_SOC_PCNT_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/pcnt_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# RMT legacy driver
 | 
						|
if(CONFIG_SOC_RMT_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/rmt_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# Sigma-Delta Modulation legacy driver
 | 
						|
if(CONFIG_SOC_SDM_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/sigma_delta_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# Temperature Sensor related source files
 | 
						|
if(CONFIG_SOC_TEMP_SENSOR_SUPPORTED)
 | 
						|
    list(APPEND srcs "deprecated/rtc_temperature_legacy.c")
 | 
						|
endif()
 | 
						|
 | 
						|
# Touch Sensor related source files
 | 
						|
if(CONFIG_SOC_TOUCH_SENSOR_SUPPORTED)
 | 
						|
    if(CONFIG_SOC_TOUCH_SENSOR_VERSION LESS 3)
 | 
						|
        list(APPEND srcs "touch_sensor/touch_sensor_common.c"
 | 
						|
                        "touch_sensor/${target}/touch_sensor.c")
 | 
						|
        list(APPEND includes "touch_sensor/${target}/include")
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
# TWAI related source files
 | 
						|
if(CONFIG_SOC_TWAI_SUPPORTED)
 | 
						|
    list(APPEND srcs "twai/twai.c")
 | 
						|
 | 
						|
    list(APPEND ldfragments "twai/linker.lf")
 | 
						|
endif()
 | 
						|
 | 
						|
# Other source files
 | 
						|
if(${target} STREQUAL "esp32")
 | 
						|
    list(APPEND srcs "deprecated/adc_i2s_deprecated.c")
 | 
						|
endif()
 | 
						|
 | 
						|
if(BOOTLOADER_BUILD)
 | 
						|
    # Bootloader shall NOT depend on the drivers
 | 
						|
    idf_component_register()
 | 
						|
else()
 | 
						|
    # (REQUIRES cannot hide soc headers, since many arguments in the driver headers are chip-dependent)
 | 
						|
    # (Legacy drivers requires `esp_adc`, due to ADC HW resource mutex logics are there.
 | 
						|
    # Can be removed together with legacy drivers)
 | 
						|
    idf_component_register(SRCS "${srcs}"
 | 
						|
                           INCLUDE_DIRS ${includes}
 | 
						|
                           PRIV_REQUIRES efuse esp_timer esp_mm
 | 
						|
                           REQUIRES esp_pm esp_ringbuf freertos soc hal esp_hw_support
 | 
						|
                           # for backward compatibility, the driver component needs to
 | 
						|
                           # have a public dependency on other "esp_driver_foo" components
 | 
						|
                                    esp_driver_gpio esp_driver_pcnt esp_driver_gptimer esp_driver_spi esp_driver_mcpwm
 | 
						|
                                    esp_driver_ana_cmpr esp_driver_i2s esp_driver_sdmmc esp_driver_sdspi esp_driver_sdio
 | 
						|
                                    esp_driver_dac esp_driver_rmt esp_driver_tsens esp_driver_sdm esp_driver_i2c
 | 
						|
                                    esp_driver_uart esp_driver_ledc esp_driver_parlio esp_driver_usb_serial_jtag
 | 
						|
                           LDFRAGMENTS ${ldfragments}
 | 
						|
                          )
 | 
						|
    if(CONFIG_SOC_ADC_SUPPORTED AND
 | 
						|
       CONFIG_COMPILER_STATIC_ANALYZER AND CMAKE_C_COMPILER_ID STREQUAL "GNU") # TODO GCC-366
 | 
						|
        set_source_files_properties(deprecated/adc_legacy.c
 | 
						|
                                    PROPERTIES COMPILE_FLAGS "-Wno-analyzer-use-of-uninitialized-value")
 | 
						|
    endif()
 | 
						|
endif()
 |