Просмотр исходного кода

components: use new component registration api

Renz Christian Bagaporo 6 лет назад
Родитель
Сommit
9eccd7c082
99 измененных файлов с 812 добавлено и 1010 удалено
  1. 9 10
      components/app_trace/CMakeLists.txt
  2. 3 6
      components/app_trace/test/CMakeLists.txt
  3. 3 7
      components/app_update/CMakeLists.txt
  4. 3 6
      components/app_update/test/CMakeLists.txt
  5. 3 6
      components/asio/CMakeLists.txt
  6. 1 1
      components/bootloader/CMakeLists.txt
  7. 2 3
      components/bootloader/subproject/components/micro-ecc/CMakeLists.txt
  8. 2 4
      components/bootloader/subproject/main/CMakeLists.txt
  9. 22 17
      components/bootloader_support/CMakeLists.txt
  10. 3 6
      components/bootloader_support/test/CMakeLists.txt
  11. 9 8
      components/bt/CMakeLists.txt
  12. 4 6
      components/bt/test/CMakeLists.txt
  13. 5 3
      components/coap/CMakeLists.txt
  14. 6 7
      components/console/CMakeLists.txt
  15. 2 3
      components/cxx/CMakeLists.txt
  16. 3 6
      components/cxx/test/CMakeLists.txt
  17. 27 28
      components/driver/CMakeLists.txt
  18. 3 6
      components/driver/test/CMakeLists.txt
  19. 8 7
      components/efuse/CMakeLists.txt
  20. 3 6
      components/efuse/test/CMakeLists.txt
  21. 4 7
      components/esp-tls/CMakeLists.txt
  22. 37 38
      components/esp32/CMakeLists.txt
  23. 3 6
      components/esp32/test/CMakeLists.txt
  24. 3 6
      components/esp_adc_cal/CMakeLists.txt
  25. 11 19
      components/esp_common/CMakeLists.txt
  26. 10 16
      components/esp_event/CMakeLists.txt
  27. 3 5
      components/esp_event/test/CMakeLists.txt
  28. 8 11
      components/esp_http_client/CMakeLists.txt
  29. 3 6
      components/esp_http_client/test/CMakeLists.txt
  30. 10 13
      components/esp_http_server/CMakeLists.txt
  31. 3 6
      components/esp_http_server/test/CMakeLists.txt
  32. 4 7
      components/esp_https_ota/CMakeLists.txt
  33. 4 7
      components/esp_https_server/CMakeLists.txt
  34. 3 7
      components/esp_ringbuf/CMakeLists.txt
  35. 3 6
      components/esp_ringbuf/test/CMakeLists.txt
  36. 3 8
      components/esp_rom/CMakeLists.txt
  37. 7 6
      components/esp_wifi/CMakeLists.txt
  38. 3 6
      components/esp_wifi/test/CMakeLists.txt
  39. 8 10
      components/espcoredump/CMakeLists.txt
  40. 3 4
      components/espcoredump/test/CMakeLists.txt
  41. 1 2
      components/esptool_py/CMakeLists.txt
  42. 8 12
      components/ethernet/CMakeLists.txt
  43. 3 5
      components/ethernet/test/CMakeLists.txt
  44. 7 8
      components/expat/CMakeLists.txt
  45. 3 5
      components/expat/test/CMakeLists.txt
  46. 14 15
      components/fatfs/CMakeLists.txt
  47. 4 8
      components/fatfs/test/CMakeLists.txt
  48. 38 36
      components/freemodbus/CMakeLists.txt
  49. 22 24
      components/freertos/CMakeLists.txt
  50. 3 6
      components/freertos/test/CMakeLists.txt
  51. 10 10
      components/heap/CMakeLists.txt
  52. 3 6
      components/heap/test/CMakeLists.txt
  53. 1 2
      components/idf_test/CMakeLists.txt
  54. 2 3
      components/jsmn/CMakeLists.txt
  55. 4 5
      components/json/CMakeLists.txt
  56. 9 8
      components/libsodium/CMakeLists.txt
  57. 4 8
      components/libsodium/test/CMakeLists.txt
  58. 3 4
      components/log/CMakeLists.txt
  59. 90 91
      components/lwip/CMakeLists.txt
  60. 3 5
      components/mbedtls/CMakeLists.txt
  61. 3 6
      components/mbedtls/test/CMakeLists.txt
  62. 6 8
      components/mdns/CMakeLists.txt
  63. 2 3
      components/mdns/test/CMakeLists.txt
  64. 7 10
      components/mqtt/CMakeLists.txt
  65. 22 21
      components/newlib/CMakeLists.txt
  66. 3 6
      components/newlib/test/CMakeLists.txt
  67. 25 25
      components/nghttp/CMakeLists.txt
  68. 10 13
      components/nvs_flash/CMakeLists.txt
  69. 3 6
      components/nvs_flash/test/CMakeLists.txt
  70. 11 14
      components/openssl/CMakeLists.txt
  71. 1 1
      components/partition_table/CMakeLists.txt
  72. 3 6
      components/partition_table/test/CMakeLists.txt
  73. 2 4
      components/protobuf-c/CMakeLists.txt
  74. 18 17
      components/protocomm/CMakeLists.txt
  75. 4 7
      components/protocomm/test/CMakeLists.txt
  76. 4 5
      components/pthread/CMakeLists.txt
  77. 3 6
      components/pthread/test/CMakeLists.txt
  78. 9 10
      components/sdmmc/CMakeLists.txt
  79. 3 6
      components/sdmmc/test/CMakeLists.txt
  80. 3 6
      components/smartconfig_ack/CMakeLists.txt
  81. 7 9
      components/soc/CMakeLists.txt
  82. 6 5
      components/soc/test/CMakeLists.txt
  83. 10 10
      components/spi_flash/CMakeLists.txt
  84. 3 6
      components/spi_flash/test/CMakeLists.txt
  85. 11 14
      components/spiffs/CMakeLists.txt
  86. 3 6
      components/spiffs/test/CMakeLists.txt
  87. 8 12
      components/tcp_transport/CMakeLists.txt
  88. 3 7
      components/tcpip_adapter/CMakeLists.txt
  89. 3 4
      components/ulp/CMakeLists.txt
  90. 3 6
      components/ulp/test/CMakeLists.txt
  91. 6 8
      components/unity/CMakeLists.txt
  92. 4 5
      components/vfs/CMakeLists.txt
  93. 4 8
      components/vfs/test/CMakeLists.txt
  94. 10 11
      components/wear_levelling/CMakeLists.txt
  95. 4 8
      components/wear_levelling/test/CMakeLists.txt
  96. 13 14
      components/wifi_provisioning/CMakeLists.txt
  97. 77 79
      components/wpa_supplicant/CMakeLists.txt
  98. 3 6
      components/wpa_supplicant/test/CMakeLists.txt
  99. 6 9
      components/xtensa/CMakeLists.txt

+ 9 - 10
components/app_trace/CMakeLists.txt

@@ -1,16 +1,16 @@
-set(COMPONENT_SRCS "app_trace.c"
+set(srcs "app_trace.c"
                    "app_trace_util.c"
                    "host_file_io.c"
                    "gcov/gcov_rtio.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
+set(include_dirs "include")
 
 if(CONFIG_SYSVIEW_ENABLE)
-    list(APPEND COMPONENT_ADD_INCLUDEDIRS
+    list(APPEND include_dirs
         sys_view/Config
         sys_view/SEGGER
         sys_view/Sample/OS)
 
-    list(APPEND COMPONENT_SRCS "sys_view/SEGGER/SEGGER_SYSVIEW.c"
+    list(APPEND srcs "sys_view/SEGGER/SEGGER_SYSVIEW.c"
                    "sys_view/Sample/Config/SEGGER_SYSVIEW_Config_FreeRTOS.c"
                    "sys_view/Sample/OS/SEGGER_SYSVIEW_FreeRTOS.c"
                    "sys_view/esp32/SEGGER_RTT_esp32.c"
@@ -19,14 +19,13 @@ if(CONFIG_SYSVIEW_ENABLE)
 endif()
 
 if(CONFIG_HEAP_TRACING_TOHOST)
-    list(APPEND COMPONENT_SRCS "heap_trace_tohost.c")
+    list(APPEND srcs "heap_trace_tohost.c")
 endif()
 
-set(COMPONENT_REQUIRES)
-set(COMPONENT_PRIV_REQUIRES heap soc)
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                       INCLUDE_DIRS "${include_dirs}"
+                       PRIV_REQUIRES soc
+                       LDFRAGMENTS linker.lf)
 
 # disable --coverage for this component, as it is used as transport
 # for gcov

+ 3 - 6
components/app_trace/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity)

+ 3 - 7
components/app_update/CMakeLists.txt

@@ -1,10 +1,6 @@
-set(COMPONENT_SRCS "esp_ota_ops.c"
-                   "esp_app_desc.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_REQUIRES spi_flash partition_table bootloader_support)
-
-register_component()
+idf_component_register(SRCS "esp_ota_ops.c" "esp_app_desc.c"
+                    INCLUDE_DIRS "include"
+                    REQUIRES spi_flash partition_table bootloader_support)
 
 # esp_app_desc structure is added as an undefined symbol because otherwise the
 # linker will ignore this structure as it has no other files depending on it.

+ 3 - 6
components/app_update/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils app_update bootloader_support nvs_flash)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils app_update bootloader_support nvs_flash)

+ 3 - 6
components/asio/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_ADD_INCLUDEDIRS asio/asio/include port/include)
-set(COMPONENT_SRCS "asio/asio/src/asio.cpp")
-
-set(COMPONENT_REQUIRES lwip)
-
-register_component()
+idf_component_register(SRCS "asio/asio/src/asio.cpp"
+                    INCLUDE_DIRS "asio/asio/include" "port/include"
+                    REQUIRES lwip)

+ 1 - 1
components/bootloader/CMakeLists.txt

@@ -1,4 +1,4 @@
-register_component()
+idf_component_register()
 
 # Do not generate flash file when building bootloader or is in early expansion of the build
 if(BOOTLOADER_BUILD)

+ 2 - 3
components/bootloader/subproject/components/micro-ecc/CMakeLists.txt

@@ -1,4 +1,3 @@
 # only compile the "micro-ecc/uECC.c" source file
-set(COMPONENT_SRCS "micro-ecc/uECC.c")
-set(COMPONENT_ADD_INCLUDEDIRS micro-ecc)
-register_component()
+idf_component_register(SRCS "micro-ecc/uECC.c"
+                    INCLUDE_DIRS micro-ecc)

+ 2 - 4
components/bootloader/subproject/main/CMakeLists.txt

@@ -1,7 +1,5 @@
-set(COMPONENT_SRCS "bootloader_start.c")
-set(COMPONENT_ADD_INCLUDEDIRS "")
-set(COMPONENT_REQUIRES bootloader bootloader_support)
-register_component()
+idf_component_register(SRCS "bootloader_start.c"
+                    REQUIRES bootloader bootloader_support)
 
 idf_build_get_property(target IDF_TARGET)
 set(scripts "${target}.bootloader.ld"

+ 22 - 17
components/bootloader_support/CMakeLists.txt

@@ -1,4 +1,4 @@
-set(COMPONENT_SRCS "src/bootloader_clock.c"
+set(srcs "src/bootloader_clock.c"
                    "src/bootloader_common.c"
                    "src/bootloader_flash.c"
                    "src/bootloader_random.c"
@@ -8,14 +8,14 @@ set(COMPONENT_SRCS "src/bootloader_clock.c"
                    "src/flash_qio_mode.c")
 
 if(BOOTLOADER_BUILD)
-    set(COMPONENT_ADD_INCLUDEDIRS "include include_bootloader")
-    set(COMPONENT_REQUIRES soc) #unfortunately the header directly uses SOC registers
-    set(COMPONENT_PRIV_REQUIRES micro-ecc spi_flash efuse)
-    list(APPEND COMPONENT_SRCS "src/bootloader_init.c"
-                               "src/${IDF_TARGET}/bootloader_sha.c"
-                               "src/${IDF_TARGET}/flash_encrypt.c"
-                               "src/${IDF_TARGET}/secure_boot_signatures.c"
-                               "src/${IDF_TARGET}/secure_boot.c")
+    set(include_dirs "include" "include_bootloader")
+    set(requires soc)  #unfortunately the header directly uses SOC registers
+    set(priv_requires micro-ecc spi_flash efuse)
+    list(APPEND srcs "src/bootloader_init.c"
+                    "src/${IDF_TARGET}/bootloader_sha.c"
+                    "src/${IDF_TARGET}/flash_encrypt.c"
+                    "src/${IDF_TARGET}/secure_boot_signatures.c"
+                    "src/${IDF_TARGET}/secure_boot.c")
 
     if(CONFIG_SECURE_SIGNED_APPS)
         get_filename_component(secure_boot_verification_key
@@ -45,18 +45,23 @@ if(BOOTLOADER_BUILD)
                 DEPENDS "${orig_secure_boot_verification_key}"
                 VERBATIM)
         endif()
-        set(COMPONENT_EMBED_FILES "${secure_boot_verification_key}")
+        set(embed_files "${secure_boot_verification_key}")
         set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
             APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
             "${secure_boot_verification_key}")
     endif()
 else()
-    list(APPEND COMPONENT_SRCS "src/idf/bootloader_sha.c"
-                               "src/idf/secure_boot_signatures.c")
-    set(COMPONENT_ADD_INCLUDEDIRS "include")
-    set(COMPONENT_PRIV_INCLUDEDIRS "include_bootloader")
-    set(COMPONENT_REQUIRES soc) #unfortunately the header directly uses SOC registers
-    set(COMPONENT_PRIV_REQUIRES spi_flash mbedtls efuse)
+    list(APPEND srcs "src/idf/bootloader_sha.c"
+                    "src/idf/secure_boot_signatures.c")
+    set(include_dirs "include")
+    set(priv_include_dirs "include_bootloader")
+    set(requires soc) #unfortunately the header directly uses SOC registers
+    set(priv_requires spi_flash mbedtls efuse)
 endif()
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    PRIV_INCLUDE_DIRS "${priv_include_dirs}"
+                    REQUIRES "${requires}"
+                    PRIV_REQUIRES "${priv_requires}"
+                    EMBED_FILES "${embed_files}")

+ 3 - 6
components/bootloader_support/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity bootloader_support app_update)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity bootloader_support app_update)

+ 9 - 8
components/bt/CMakeLists.txt

@@ -1,11 +1,11 @@
 if(CONFIG_BT_ENABLED)
 
-    set(COMPONENT_SRCS "bt.c")
-    set(COMPONENT_ADD_INCLUDEDIRS include)
+    set(srcs "bt.c")
+    set(include_dirs include)
 
     if(CONFIG_BT_BLUEDROID_ENABLED)
 
-        list(APPEND COMPONENT_PRIV_INCLUDEDIRS
+        list(APPEND priv_include_dirs
             bluedroid/bta/include
             bluedroid/bta/ar/include
             bluedroid/bta/av/include
@@ -41,9 +41,9 @@ if(CONFIG_BT_ENABLED)
             bluedroid/stack/include
             bluedroid/common/include)
 
-        list(APPEND COMPONENT_ADD_INCLUDEDIRS bluedroid/api/include/api)
+        list(APPEND include_dirs bluedroid/api/include/api)
 
-        list(APPEND COMPONENT_SRCS "bluedroid/api/esp_a2dp_api.c"
+        list(APPEND srcs "bluedroid/api/esp_a2dp_api.c"
                    "bluedroid/api/esp_avrc_api.c"
                    "bluedroid/api/esp_blufi_api.c"
                    "bluedroid/api/esp_bt_device.c"
@@ -287,9 +287,10 @@ if(CONFIG_BT_ENABLED)
 endif()
 
 # requirements can't depend on config
-set(COMPONENT_PRIV_REQUIRES nvs_flash soc)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                INCLUDE_DIRS "${include_dirs}"
+                PRIV_INCLUDE_DIRS "${priv_include_dirs}"
+                REQUIRES nvs_flash soc)
 
 if(CONFIG_BT_ENABLED)
     if(GCC_NOT_5_2_0)

+ 4 - 6
components/bt/test/CMakeLists.txt

@@ -1,7 +1,5 @@
 if(CONFIG_BT_ENABLED OR CMAKE_BUILD_EARLY_EXPANSION)
-    set(COMPONENT_SRCDIRS ".")
-    set(COMPONENT_ADD_INCLUDEDIRS ".")
-    set(COMPONENT_REQUIRES unity nvs_flash bt)
-
-    register_component()
-endif()
+    idf_component_register(SRC_DIRS "."
+                        INCLUDE_DIRS "."
+                        REQUIRES unity nvs_flash bt)
+endif()

+ 5 - 3
components/coap/CMakeLists.txt

@@ -1,6 +1,6 @@
-set(COMPONENT_ADD_INCLUDEDIRS port/include port/include/coap libcoap/include libcoap/include/coap2)
+set(include_dirs port/include port/include/coap libcoap/include libcoap/include/coap2)
 
-set(COMPONENT_SRCS "libcoap/src/address.c"
+set(srcs "libcoap/src/address.c"
                    "libcoap/src/async.c"
                    "libcoap/src/block.c"
                    "libcoap/src/coap_event.c"
@@ -22,7 +22,9 @@ set(COMPONENT_SRCS "libcoap/src/address.c"
 
 set(COMPONENT_REQUIRES lwip)
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                INCLUDE_DIRS "${include_dirs}"
+                REQUIRES lwip)
 
 # Silence format truncation warning, until it is fixed upstream
 set_source_files_properties(libcoap/src/coap_debug.c PROPERTIES COMPILE_FLAGS -Wno-format-truncation)

+ 6 - 7
components/console/CMakeLists.txt

@@ -1,7 +1,6 @@
-set(COMPONENT_ADD_INCLUDEDIRS .)
-set(COMPONENT_SRCS "commands.c"
-                   "split_argv.c"
-                   "argtable3/argtable3.c"
-                   "linenoise/linenoise.c")
-register_component()
-
+idf_component_register(SRCS "commands.c"
+                           "split_argv.c"
+                           "argtable3/argtable3.c"
+                           "linenoise/linenoise.c"
+                  INCLUDE_DIRS "."
+                  REQUIRES vfs)

+ 2 - 3
components/cxx/CMakeLists.txt

@@ -1,6 +1,5 @@
-set(COMPONENT_SRCS "cxx_exception_stubs.cpp"
-                   "cxx_guards.cpp")
-register_component()
+idf_component_register(SRCS "cxx_exception_stubs.cpp"
+                            "cxx_guards.cpp")
 
 target_link_libraries(${COMPONENT_LIB} PUBLIC stdc++ gcc)
 target_link_libraries(${COMPONENT_LIB} INTERFACE "-u __cxa_guard_dummy")

+ 3 - 6
components/cxx/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity)

+ 27 - 28
components/driver/CMakeLists.txt

@@ -1,33 +1,32 @@
-set(COMPONENT_SRCS "can.c"
-                   "gpio.c"
-                   "i2c.c"
-                   "i2s.c"
-                   "ledc.c"
-                   "mcpwm.c"
-                   "pcnt.c"
-                   "periph_ctrl.c"
-                   "rmt.c"
-                   "rtc_module.c"
-                   "sdio_slave.c"
-                   "sdmmc_host.c"
-                   "sdmmc_transaction.c"
-                   "sdspi_crc.c"
-                   "sdspi_host.c"
-                   "sdspi_transaction.c"
-                   "sigmadelta.c"
-                   "spi_common.c"
-                   "spi_master.c"
-                   "spi_slave.c"
-                   "timer.c"
-                   "uart.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS "include/driver")
-set(COMPONENT_REQUIRES esp_ringbuf soc) #cannot totally hide soc headers, since there are a lot arguments in the driver are chip-dependent
-
-register_component()
+set(srcs "can.c"
+    "gpio.c"
+    "i2c.c"
+    "i2s.c"
+    "ledc.c"
+    "mcpwm.c"
+    "pcnt.c"
+    "periph_ctrl.c"
+    "rmt.c"
+    "rtc_module.c"
+    "sdio_slave.c"
+    "sdmmc_host.c"
+    "sdmmc_transaction.c"
+    "sdspi_crc.c"
+    "sdspi_host.c"
+    "sdspi_transaction.c"
+    "sigmadelta.c"
+    "spi_common.c"
+    "spi_master.c"
+    "spi_slave.c"
+    "timer.c"
+    "uart.c")
 
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "include/driver"
+                    REQUIRES esp_ringbuf soc) #cannot totally hide soc headers, since there are a lot arguments in the driver are chip-dependent
 
 if(GCC_NOT_5_2_0)
     # uses C11 atomic feature
     set_source_files_properties(spi_master.c PROPERTIES COMPILE_FLAGS -std=gnu11)
-endif()
+endif()

+ 3 - 6
components/driver/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ". param_test")
-set(COMPONENT_ADD_INCLUDEDIRS "include param_test/include")
-
-set(COMPONENT_REQUIRES unity test_utils driver nvs_flash)
-
-register_component()
+idf_component_register(SRC_DIRS "." "param_test"
+                    INCLUDE_DIRS "include" "param_test/include"
+                    REQUIRES unity test_utils driver nvs_flash)

+ 8 - 7
components/efuse/CMakeLists.txt

@@ -3,16 +3,17 @@ idf_build_get_property(soc_name IDF_TARGET)
 if(EXISTS "${COMPONENT_DIR}/${soc_name}")
     include(${COMPONENT_DIR}/${soc_name}/sources.cmake)
     spaces2list(EFUSE_SOC_SRCS)
-    add_prefix(COMPONENT_SRCS "${soc_name}/" ${EFUSE_SOC_SRCS})
-    set(COMPONENT_ADD_INCLUDEDIRS include ${soc_name}/include)
+    add_prefix(srcs "${soc_name}/" ${EFUSE_SOC_SRCS})
+    set(include_dirs include ${soc_name}/include)
 endif()
 
-list(APPEND COMPONENT_SRCS "src/esp_efuse_api.c"
-                           "src/esp_efuse_fields.c"
-                           "src/esp_efuse_utility.c")
+list(APPEND srcs "src/esp_efuse_api.c"
+                "src/esp_efuse_fields.c"
+                "src/esp_efuse_utility.c")
 
-set(COMPONENT_PRIV_REQUIRES bootloader_support soc)
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    PRIV_REQUIRES bootloader_support soc
+                    INCLUDE_DIRS "${include_dirs}")
 
 set(GEN_EFUSE_TABLE_ARG --max_blk_len ${CONFIG_EFUSE_MAX_BLK_LEN})
 

+ 3 - 6
components/efuse/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS "." "include")
-
-set(COMPONENT_REQUIRES unity test_utils efuse bootloader_support)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "." "include"
+                    REQUIRES unity test_utils efuse bootloader_support)

+ 4 - 7
components/esp-tls/CMakeLists.txt

@@ -1,7 +1,4 @@
-set(COMPONENT_SRCS "esp_tls.c")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES mbedtls)
-set(COMPONENT_PRIV_REQUIRES lwip nghttp)
-
-register_component()
+idf_component_register(SRCS "esp_tls.c"
+                    INCLUDE_DIRS "."
+                    REQUIRES mbedtls
+                    PRIV_REQUIRES lwip nghttp)

+ 37 - 38
components/esp32/CMakeLists.txt

@@ -1,50 +1,49 @@
-require_idf_targets(esp32)
-
 if(BOOTLOADER_BUILD)
     # For bootloader, all we need from esp32 is headers
-    set(COMPONENT_ADD_INCLUDEDIRS include)
-    register_component()
+    idf_component_register(INCLUDE_DIRS include)
     target_linker_script(${COMPONENT_LIB} INTERFACE "ld/esp32.peripherals.ld")
 else()
     # Regular app build
-
-    set(COMPONENT_SRCS "brownout.c"
-                   "cache_err_int.c"
-                   "cache_sram_mmu.c"
-                   "clk.c"
-                   "cpu_start.c"
-                   "crosscore_int.c"
-                   "dport_access.c"
-                   "dport_panic_highint_hdl.S"
-                   "esp_adapter.c"
-                   "esp_timer_esp32.c"
-                   "esp_himem.c"
-                   "gdbstub.c"
-                   "hw_random.c"
-                   "int_wdt.c"
-                   "intr_alloc.c"
-                   "panic.c"
-                   "pm_esp32.c"
-                   "pm_trace.c"
-                   "reset_reason.c"
-                   "sleep_modes.c"
-                   "spiram.c"
-                   "spiram_psram.c"
-                   "system_api.c"
-                   "task_wdt.c")
-    set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-    set(COMPONENT_REQUIRES driver esp_event efuse soc) #unfortunately rom/uart uses SOC registers directly
+    set(srcs "brownout.c"
+            "cache_err_int.c"
+            "cache_sram_mmu.c"
+            "clk.c"
+            "cpu_start.c"
+            "crosscore_int.c"
+            "dport_access.c"
+            "dport_panic_highint_hdl.S"
+            "esp_adapter.c"
+            "esp_timer_esp32.c"
+            "esp_himem.c"
+            "gdbstub.c"
+            "hw_random.c"
+            "int_wdt.c"
+            "intr_alloc.c"
+            "panic.c"
+            "pm_esp32.c"
+            "pm_trace.c"
+            "reset_reason.c"
+            "sleep_modes.c"
+            "spiram.c"
+            "spiram_psram.c"
+            "system_api.c"
+            "task_wdt.c")
+    set(include_dirs "include")
+
+    set(requires driver esp_event efuse soc) #unfortunately rom/uart uses SOC registers directly
 
     # driver is a public requirement because esp_sleep.h uses gpio_num_t & touch_pad_t
     # app_update is added here because cpu_start.c uses esp_ota_get_app_description() function.
-    set(COMPONENT_PRIV_REQUIRES
-        app_trace app_update bootloader_support log mbedtls nvs_flash pthread
+    set(priv_requires app_trace app_update bootloader_support log mbedtls nvs_flash pthread
         smartconfig_ack spi_flash vfs wpa_supplicant espcoredump esp_common esp_wifi)
-
-    set(COMPONENT_ADD_LDFRAGMENTS linker.lf ld/esp32_fragments.lf)
-
-    register_component()
+    set(fragments linker.lf ld/esp32_fragments.lf)
+
+    idf_component_register(SRCS "${srcs}"
+                        INCLUDE_DIRS "${include_dirs}"
+                        LDFRAGMENTS "${fragments}"
+                        REQUIRES "${requires}"
+                        PRIV_REQUIRES "${priv_requires}"
+                        REQUIRED_IDF_TARGETS esp32)
 
     target_linker_script(${COMPONENT_LIB} INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/esp32_out.ld")
 

+ 3 - 6
components/esp32/test/CMakeLists.txt

@@ -1,9 +1,6 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ". ${CMAKE_CURRENT_BINARY_DIR}")
-
-set(COMPONENT_REQUIRES unity test_utils nvs_flash ulp esp_common)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "." "${CMAKE_CURRENT_BINARY_DIR}"
+                    REQUIRES unity test_utils nvs_flash ulp esp_common)
 
 add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_tjpgd_logo.h"
                 COMMAND xxd -i "logo.jpg" "${CMAKE_CURRENT_BINARY_DIR}/test_tjpgd_logo.h"

+ 3 - 6
components/esp_adc_cal/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCS "esp_adc_cal.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_REQUIRES)
-
-register_component()
+idf_component_register(SRCS "esp_adc_cal.c"
+                    INCLUDE_DIRS "include"
+                    REQUIRES driver)

+ 11 - 19
components/esp_common/CMakeLists.txt

@@ -1,27 +1,19 @@
 if(BOOTLOADER_BUILD)
     # For bootloader, all we need from esp_common is headers
-    set(COMPONENT_ADD_INCLUDEDIRS include)
-    set(COMPONENT_REQUIRES ${IDF_COMPONENTS})
-    set(COMPONENT_SRCS )
-    register_component()
+    idf_component_register(INCLUDE_DIRS include)
     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-Wl,--gc-sections")
 else()
     # Regular app build
-    set(COMPONENT_SRCS
-        "src/dbg_stubs.c"
-        "src/esp_err_to_name.c"
-        "src/esp_timer.c"
-        "src/ets_timer_legacy.c"
-        "src/freertos_hooks.c"
-        "src/ipc.c"
-        "src/pm_locks.c"
-        "src/stack_check.c")
-    set(COMPONENT_ADD_INCLUDEDIRS "include")
-    set(COMPONENT_PRIV_INCLUDEDIRS)
-    set(COMPONENT_REQUIRES)
-    set(COMPONENT_PRIV_REQUIRES soc)
-
-    register_component()
+    idf_component_register(SRCS "src/dbg_stubs.c"
+                                "src/esp_err_to_name.c"
+                                "src/esp_timer.c"
+                                "src/ets_timer_legacy.c"
+                                "src/freertos_hooks.c"
+                                "src/ipc.c"
+                                "src/pm_locks.c"
+                                "src/stack_check.c"
+                        INCLUDE_DIRS include
+                        PRIV_REQUIRES soc)
 
     set_source_files_properties(
         "src/stack_check.c"

+ 10 - 16
components/esp_event/CMakeLists.txt

@@ -1,19 +1,13 @@
-set(COMPONENT_SRCS "default_event_loop.c"
-                   "esp_event.c"
-                   "esp_event_private.c"
-                   "event_loop_legacy.c"
-                   "event_send.c")
-
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS "private_include")
-
-set(COMPONENT_REQUIRES log tcpip_adapter)
-set(COMPONENT_PRIV_REQUIRES ethernet)
-set(COMPONENT_REQUIRES log tcpip_adapter ethernet)
-
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRCS "default_event_loop.c"
+                            "esp_event.c"
+                            "esp_event_private.c"
+                            "event_loop_legacy.c"
+                            "event_send.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "private_include"
+                    REQUIRES log tcpip_adapter
+                    PRIV_REQUIRES ethernet
+                    LDFRAGMENTS linker.lf)
 
 if(GCC_NOT_5_2_0 AND CONFIG_ESP_EVENT_LOOP_PROFILING)
     # uses C11 atomic feature

+ 3 - 5
components/esp_event/test/CMakeLists.txt

@@ -1,5 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_PRIV_INCLUDEDIRS "../private_include" ".")
-set(COMPONENT_PRIV_REQUIRES unity test_utils esp_event driver)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    PRIV_INCLUDE_DIRS "../private_include" "."
+                    REQUIRES unity test_utils esp_event driver)

+ 8 - 11
components/esp_http_client/CMakeLists.txt

@@ -1,11 +1,8 @@
-set(COMPONENT_SRCS "esp_http_client.c"
-                   "lib/http_auth.c"
-                   "lib/http_header.c"
-                   "lib/http_utils.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS "lib/include")
-
-set(COMPONENT_REQUIRES "nghttp")
-set(COMPONENT_PRIV_REQUIRES "mbedtls" "lwip" "esp-tls" "tcp_transport")
-
-register_component()
+idf_component_register(SRCS "esp_http_client.c"
+                            "lib/http_auth.c"
+                            "lib/http_header.c"
+                            "lib/http_utils.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "lib/include"
+                    REQUIRES nghttp
+                    PRIV_REQUIRES mbedtls lwip esp-tls tcp_transport)

+ 3 - 6
components/esp_http_client/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils esp_http_client)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils esp_http_client)

+ 10 - 13
components/esp_http_server/CMakeLists.txt

@@ -1,13 +1,10 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_PRIV_INCLUDEDIRS src/port/esp32 src/util)
-set(COMPONENT_SRCS "src/httpd_main.c"
-                   "src/httpd_parse.c"
-                   "src/httpd_sess.c"
-                   "src/httpd_txrx.c"
-                   "src/httpd_uri.c"
-                   "src/util/ctrl_sock.c")
-
-set(COMPONENT_REQUIRES nghttp)  # for http_parser.h
-set(COMPONENT_PRIV_REQUIRES lwip)
-
-register_component()
+idf_component_register(SRCS "src/httpd_main.c"
+                            "src/httpd_parse.c"
+                            "src/httpd_sess.c"
+                            "src/httpd_txrx.c"
+                            "src/httpd_uri.c"
+                            "src/util/ctrl_sock.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "src/port/esp32" "src/util"
+                    REQUIRES nghttp
+                    PRIV_REQUIRES lwip) # for http_parser.h

+ 3 - 6
components/esp_http_server/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils esp_http_server)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils esp_http_server)

+ 4 - 7
components/esp_https_ota/CMakeLists.txt

@@ -1,7 +1,4 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_SRCS "src/esp_https_ota.c")
-
-set(COMPONENT_REQUIRES esp_http_client)
-set(COMPONENT_PRIV_REQUIRES log app_update)
-
-register_component()
+idf_component_register(SRCS "src/esp_https_ota.c"
+                    INCLUDE_DIRS "include"
+                    REQUIRES esp_http_client
+                    PRIV_REQUIRES log app_update)

+ 4 - 7
components/esp_https_server/CMakeLists.txt

@@ -1,7 +1,4 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_SRCS "src/https_server.c")
-
-set(COMPONENT_REQUIRES esp_http_server openssl)
-set(COMPONENT_PRIV_REQUIRES lwip)
-
-register_component()
+idf_component_register(SRCS "src/https_server.c"
+                    INCLUDE_DIRS "include"
+                    REQUIRES esp_http_server openssl
+                    PRIV_REQUIRES lwip)

+ 3 - 7
components/esp_ringbuf/CMakeLists.txt

@@ -1,7 +1,3 @@
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_SRCS "ringbuf.c")
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-set(COMPONENT_REQUIRES)
-
-register_component()
+idf_component_register(SRCS "ringbuf.c"
+                    INCLUDE_DIRS "include"
+                    LDFRAGMENTS linker.lf)

+ 3 - 6
components/esp_ringbuf/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils)

+ 3 - 8
components/esp_rom/CMakeLists.txt

@@ -1,9 +1,6 @@
 if(BOOTLOADER_BUILD)
     # For bootloader, all we need is headers
-    set(COMPONENT_ADD_INCLUDEDIRS "include")
-    set(COMPONENT_REQUIRES ${IDF_COMPONENTS})
-    set(COMPONENT_SRCS)
-    register_component()
+    idf_component_register(INCLUDE_DIRS include)
     set(scripts
         "esp32/ld/esp32.rom.ld"
         "esp32/ld/esp32.rom.newlib-funcs.ld"
@@ -12,10 +9,8 @@ if(BOOTLOADER_BUILD)
     target_linker_script(${COMPONENT_LIB} INTERFACE "${scripts}")
 else()
     # Regular app build
-    set(COMPONENT_SRCS "esp_rom.c")
-    set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-    register_component()
+    idf_component_register(SRCS "esp_rom.c"
+                        INCLUDE_DIRS include)
 
     set(scripts
         "esp32/ld/esp32.rom.ld"

+ 7 - 6
components/esp_wifi/CMakeLists.txt

@@ -1,7 +1,7 @@
 idf_build_get_property(idf_target IDF_TARGET)
 idf_build_get_property(build_dir BUILD_DIR)
 
-set(COMPONENT_SRCS
+set(srcs
     "src/coexist.c"
     "src/fast_crypto_ops.c"
     "src/lib_printf.c"
@@ -9,15 +9,16 @@ set(COMPONENT_SRCS
     "src/phy_init.c"
     "src/restore.c"
     "src/wifi_init.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include" "${idf_target}/include")
-set(COMPONENT_PRIV_INCLUDEDIRS)
-set(COMPONENT_PRIV_REQUIRES wpa_supplicant nvs_flash)
 
 if(NOT CONFIG_ESP32_NO_BLOBS)
-    set(COMPONENT_ADD_LDFRAGMENTS "linker.lf")
+    set(ldfragments "linker.lf")
 endif()
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "include" "${idf_target}/include"
+                    PRIV_REQUIRES wpa_supplicant nvs_flash
+                    LDFRAGMENTS "${ldfragments}")
+
 target_link_libraries(${COMPONENT_LIB} PUBLIC "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib_${idf_target}")
 
 if(NOT CONFIG_ESP32_NO_BLOBS)

+ 3 - 6
components/esp_wifi/test/CMakeLists.txt

@@ -1,9 +1,6 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ". ${CMAKE_CURRENT_BINARY_DIR}")
-
-set(COMPONENT_REQUIRES unity test_utils nvs_flash ulp esp_common)
-
-register_component()
+idf_component_register(SRCDIRS "."
+                    INCLUDE_DIRS "." "${CMAKE_CURRENT_BINARY_DIR}"
+                    REQUIRES unity test_utils nvs_flash ulp esp_common)
 
 idf_component_get_property(esp_wifi_dir esp_wifi COMPONENT_DIR)
 

+ 8 - 10
components/espcoredump/CMakeLists.txt

@@ -1,10 +1,8 @@
-set(COMPONENT_PRIV_INCLUDEDIRS "include_core_dump")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_REQUIRES spi_flash soc)
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-set(COMPONENT_SRCS "src/core_dump_common.c"
-                   "src/core_dump_flash.c"
-                   "src/core_dump_port.c"
-                   "src/core_dump_uart.c")
-
-register_component()
+idf_component_register(SRCS "src/core_dump_common.c" 
+                            "src/core_dump_flash.c"
+                            "src/core_dump_port.c"
+                            "src/core_dump_uart.c"
+                        INCLUDE_DIRS "include"
+                        PRIV_INCLUDE_DIRS "include_core_dump"
+                        LDFRAGMENTS linker.lf
+                        PRIV_REQUIRES spi_flash soc)

+ 3 - 4
components/espcoredump/test/CMakeLists.txt

@@ -1,8 +1,7 @@
 if(TESTS_ALL EQUAL 1)
     message("not linking coredump test from CI.")
 else()
-    set(COMPONENT_SRCDIRS ".")
-    set(COMPONENT_ADD_INCLUDEDIRS ".")
-    set(COMPONENT_REQUIRES unity nvs_flash)
-    register_component()
+    idf_component_register(SRC_DIRS "."
+                        INCLUDE_DIRS "."
+                        REQUIRES unity nvs_flash)
 endif()

+ 1 - 2
components/esptool_py/CMakeLists.txt

@@ -1,5 +1,4 @@
-set(COMPONENT_PRIV_REQUIRES bootloader)
-register_component()
+idf_component_register(REQUIRES bootloader)
 
 string(REPLACE ";" " " ESPTOOLPY_FLASH_PROJECT_OPTIONS "${ESPTOOLPY_ELF2IMAGE_FLASH_OPTIONS}")
 set(ESPTOOLPY_FLASH_PROJECT_OPTIONS

+ 8 - 12
components/ethernet/CMakeLists.txt

@@ -1,12 +1,8 @@
-set(COMPONENT_SRCS "emac_dev.c"
-                   "emac_main.c"
-                   "eth_phy/phy_common.c"
-                   "eth_phy/phy_lan8720.c"
-                   "eth_phy/phy_tlk110.c"
-                   "eth_phy/phy_ip101.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_REQUIRES)
-set(COMPONENT_PRIV_REQUIRES tcpip_adapter esp_event soc)
-
-register_component()
+idf_component_register(SRCS "emac_dev.c"
+                            "emac_main.c"
+                            "eth_phy/phy_common.c"
+                            "eth_phy/phy_lan8720.c"
+                            "eth_phy/phy_tlk110.c"
+                            "eth_phy/phy_ip101.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_REQUIRES tcpip_adapter esp_event soc)

+ 3 - 5
components/ethernet/test/CMakeLists.txt

@@ -1,5 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-set(COMPONENT_REQUIRES unity ethernet)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity ethernet)

+ 7 - 8
components/expat/CMakeLists.txt

@@ -1,11 +1,10 @@
-set(COMPONENT_ADD_INCLUDEDIRS expat/expat/lib port/include)
-set(COMPONENT_SRCS "expat/expat/lib/loadlibrary.c"
-                   "expat/expat/lib/xmlparse.c"
-                   "expat/expat/lib/xmlrole.c"
-                   "expat/expat/lib/xmltok.c"
-                   "expat/expat/lib/xmltok_impl.c"
-                   "expat/expat/lib/xmltok_ns.c")
-register_component()
+idf_component_register(SRCS "expat/expat/lib/loadlibrary.c"
+                            "expat/expat/lib/xmlparse.c"
+                            "expat/expat/lib/xmlrole.c"
+                            "expat/expat/lib/xmltok.c"
+                            "expat/expat/lib/xmltok_impl.c"
+                            "expat/expat/lib/xmltok_ns.c"
+                    INCLUDE_DIRS expat/expat/lib port/include)
 
 target_compile_definitions(${COMPONENT_LIB} PRIVATE HAVE_EXPAT_CONFIG_H)
 target_compile_definitions(${COMPONENT_LIB} PRIVATE HAVE_GETRANDOM)

+ 3 - 5
components/expat/test/CMakeLists.txt

@@ -1,5 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-set(COMPONENT_REQUIRES unity expat)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity expat)

+ 14 - 15
components/fatfs/CMakeLists.txt

@@ -1,15 +1,14 @@
-set(COMPONENT_SRCS "src/diskio.c"
-                   "src/diskio_rawflash.c"
-                   "src/diskio_sdmmc.c"
-                   "src/diskio_wl.c"
-                   "src/ff.c"
-                   "src/ffsystem.c"
-                   "src/ffunicode.c"
-                   "src/vfs_fat.c"
-                   "src/vfs_fat_sdmmc.c"
-                   "src/vfs_fat_spiflash.c")
-set(COMPONENT_ADD_INCLUDEDIRS src)
-
-set(COMPONENT_REQUIRES wear_levelling sdmmc)
-
-register_component()
+set(srcs "src/diskio.c"
+        "src/diskio_rawflash.c"
+        "src/diskio_sdmmc.c"
+        "src/diskio_wl.c"
+        "src/ff.c"
+        "src/ffsystem.c"
+        "src/ffunicode.c"
+        "src/vfs_fat.c"
+        "src/vfs_fat_sdmmc.c"
+        "src/vfs_fat_spiflash.c")
+        
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS src
+                    REQUIRES wear_levelling sdmmc)

+ 4 - 8
components/fatfs/test/CMakeLists.txt

@@ -1,8 +1,4 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils vfs fatfs)
-
-set(COMPONENT_EMBED_TXTFILES fatfs.img)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils vfs fatfs
+                    EMBED_TXTFILES fatfs.img)

+ 38 - 36
components/freemodbus/CMakeLists.txt

@@ -1,41 +1,43 @@
 # The following five lines of boilerplate have to be in your project's
 # CMakeLists in this exact order for cmake to work correctly
-set(COMPONENT_SRCS  "common/esp_modbus_master.c"
-                    "common/esp_modbus_slave.c"
-                    "modbus/mb.c"
-                    "modbus/mb_m.c"
-                    "modbus/ascii/mbascii.c"
-                    "modbus/rtu/mbrtu_m.c"
-                    "modbus/rtu/mbrtu.c"
-                    "modbus/rtu/mbcrc.c"
-                    "modbus/tcp/mbtcp.c"
-                    "port/port.c"
-                    "port/portevent.c"
-                    "port/portevent_m.c"
-                    "port/portother.c"
-                    "port/portother_m.c"
-                    "port/portserial.c"
-                    "port/portserial_m.c"
-                    "port/porttimer.c"
-                    "port/porttimer_m.c"
-                    "modbus/functions/mbfunccoils.c"
-                    "modbus/functions/mbfunccoils_m.c"
-                    "modbus/functions/mbfuncdiag.c"
-                    "modbus/functions/mbfuncdisc.c"
-                    "modbus/functions/mbfuncdisc_m.c"
-                    "modbus/functions/mbfuncholding.c"
-                    "modbus/functions/mbfuncholding_m.c"
-                    "modbus/functions/mbfuncinput.c"
-                    "modbus/functions/mbfuncinput_m.c"
-                    "modbus/functions/mbfuncother.c"
-                    "modbus/functions/mbutils.c"
-                    "serial_slave/modbus_controller/mbc_serial_slave.c"
-                    "serial_master/modbus_controller/mbc_serial_master.c")
-set(COMPONENT_ADD_INCLUDEDIRS common/include)
-set(COMPONENT_PRIV_INCLUDEDIRS  common port modbus modbus/ascii modbus/functions
+set(srcs  "common/esp_modbus_master.c"
+    "common/esp_modbus_slave.c"
+    "modbus/mb.c"
+    "modbus/mb_m.c"
+    "modbus/ascii/mbascii.c"
+    "modbus/rtu/mbrtu_m.c"
+    "modbus/rtu/mbrtu.c"
+    "modbus/rtu/mbcrc.c"
+    "modbus/tcp/mbtcp.c"
+    "port/port.c"
+    "port/portevent.c"
+    "port/portevent_m.c"
+    "port/portother.c"
+    "port/portother_m.c"
+    "port/portserial.c"
+    "port/portserial_m.c"
+    "port/porttimer.c"
+    "port/porttimer_m.c"
+    "modbus/functions/mbfunccoils.c"
+    "modbus/functions/mbfunccoils_m.c"
+    "modbus/functions/mbfuncdiag.c"
+    "modbus/functions/mbfuncdisc.c"
+    "modbus/functions/mbfuncdisc_m.c"
+    "modbus/functions/mbfuncholding.c"
+    "modbus/functions/mbfuncholding_m.c"
+    "modbus/functions/mbfuncinput.c"
+    "modbus/functions/mbfuncinput_m.c"
+    "modbus/functions/mbfuncother.c"
+    "modbus/functions/mbutils.c"
+    "serial_slave/modbus_controller/mbc_serial_slave.c"
+    "serial_master/modbus_controller/mbc_serial_master.c")
+set(include_dirs common/include)
+set(priv_include_dirs common port modbus modbus/ascii modbus/functions
                                 modbus/rtu modbus/tcp modbus/include)
-list(APPEND COMPONENT_PRIV_INCLUDEDIRS serial_slave/port serial_slave/modbus_controller
+list(APPEND priv_include_dirs serial_slave/port serial_slave/modbus_controller
                                         serial_master/port serial_master/modbus_controller)
-set(COMPONENT_REQUIRES "driver")
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    PRIV_INCLUDE_DIRS "${priv_include_dirs}"
+                    REQUIRES driver)

+ 22 - 24
components/freertos/CMakeLists.txt

@@ -1,29 +1,27 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_PRIV_INCLUDEDIRS include/freertos .)
-set(COMPONENT_SRCS "croutine.c"
-                   "event_groups.c"
-                   "FreeRTOS-openocd.c"
-                   "list.c"
-                   "port.c"
-                   "portasm.S"
-                   "queue.c"
-                   "tasks.c"
-                   "timers.c"
-                   "xtensa_context.S"
-                   "xtensa_init.c"
-                   "xtensa_intr.c"
-                   "xtensa_intr_asm.S"
-                   "xtensa_overlay_os_hook.c"
-                   "xtensa_vector_defaults.S"
-                   "xtensa_vectors.S")
-
+set(srcs "croutine.c"
+        "event_groups.c"
+        "FreeRTOS-openocd.c"
+        "list.c"
+        "port.c"
+        "portasm.S"
+        "queue.c"
+        "tasks.c"
+        "timers.c"
+        "xtensa_context.S"
+        "xtensa_init.c"
+        "xtensa_intr.c"
+        "xtensa_intr_asm.S"
+        "xtensa_overlay_os_hook.c"
+        "xtensa_vector_defaults.S"
+        "xtensa_vectors.S")
 # app_trace is required by FreeRTOS headers only when CONFIG_SYSVIEW_ENABLE=y,
 # but requirements can't depend on config options, so always require it.
-set(COMPONENT_REQUIRES app_trace)
-set(COMPONENT_PRIV_REQUIRES esp_common soc)
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS include
+                    PRIV_INCLUDE_DIRS include/freertos .
+                    LDFRAGMENTS linker.lf
+                    REQUIRES app_trace
+                    PRIV_REQUIRES soc)
 
 target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--undefined=uxTopUsedPriority")
 

+ 3 - 6
components/freertos/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils)

+ 10 - 10
components/heap/CMakeLists.txt

@@ -1,23 +1,23 @@
-set(COMPONENT_SRCS "heap_caps.c"
-                   "heap_caps_init.c"
-                   "multi_heap.c")
+set(srcs "heap_caps.c"
+        "heap_caps_init.c"
+        "multi_heap.c")
 
 if(NOT CONFIG_HEAP_POISONING_DISABLED)
-    list(APPEND COMPONENT_SRCS "multi_heap_poisoning.c")
+    list(APPEND srcs "multi_heap_poisoning.c")
 endif()
 
 if(CONFIG_HEAP_TASK_TRACKING)
-    list(APPEND COMPONENT_SRCS "heap_task_info.c")
+    list(APPEND srcs "heap_task_info.c")
 endif()
 
 if(CONFIG_HEAP_TRACING_STANDALONE)
-    list(APPEND COMPONENT_SRCS "heap_trace_standalone.c")
+    list(APPEND srcs "heap_trace_standalone.c")
 endif()
 
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-set(COMPONENT_PRIV_REQUIRES soc)
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS include
+                    LDFRAGMENTS linker.lf
+                    PRIV_REQUIRES soc)
 
 if(CONFIG_HEAP_TRACING)
     set(WRAP_FUNCTIONS

+ 3 - 6
components/heap/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils heap)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils heap)

+ 1 - 2
components/idf_test/CMakeLists.txt

@@ -1,2 +1 @@
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-register_component()
+idf_component_register(INCLUDE_DIRS include)

+ 2 - 3
components/jsmn/CMakeLists.txt

@@ -1,3 +1,2 @@
-set(COMPONENT_SRCS "src/jsmn.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-register_component()
+idf_component_register(SRCS "src/jsmn.c"
+                    INCLUDE_DIRS "include")

+ 4 - 5
components/json/CMakeLists.txt

@@ -1,5 +1,4 @@
-set(COMPONENT_SRCS "cJSON/cJSON.c"
-                   "cJSON/cJSON_Utils.c"
-                   "cJSON/test.c")
-set(COMPONENT_ADD_INCLUDEDIRS cJSON)
-register_component()
+idf_component_register(SRCS "cJSON/cJSON.c"
+                            "cJSON/cJSON_Utils.c"
+                            "cJSON/test.c" 
+                    INCLUDE_DIRS cJSON)

+ 9 - 8
components/libsodium/CMakeLists.txt

@@ -1,7 +1,7 @@
 set(SRC libsodium/src/libsodium)
 # Derived from libsodium/src/libsodium/Makefile.am
 # (ignoring the !MINIMAL set)
-set(COMPONENT_SRCS "${SRC}/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c"
+set(srcs "${SRC}/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c"
                    "${SRC}/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c"
                    "${SRC}/crypto_auth/crypto_auth.c"
                    "${SRC}/crypto_auth/hmacsha256/auth_hmacsha256.c"
@@ -116,18 +116,19 @@ set(COMPONENT_SRCS "${SRC}/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly
                    "port/randombytes_esp32.c")
 
 if(CONFIG_LIBSODIUM_USE_MBEDTLS_SHA)
-    list(APPEND COMPONENT_SRCS "port/crypto_hash_mbedtls/crypto_hash_sha256_mbedtls.c"
+    list(APPEND srcs "port/crypto_hash_mbedtls/crypto_hash_sha256_mbedtls.c"
                    "port/crypto_hash_mbedtls/crypto_hash_sha512_mbedtls.c")
 else()
-    list(APPEND COMPONENT_SRCS "${SRC}/crypto_hash/sha256/cp/hash_sha256_cp.c"
+    list(APPEND srcs "${SRC}/crypto_hash/sha256/cp/hash_sha256_cp.c"
                    "${SRC}/crypto_hash/sha512/cp/hash_sha512_cp.c")
 endif()
 
-set(COMPONENT_ADD_INCLUDEDIRS ${SRC}/include port_include)
-set(COMPONENT_PRIV_INCLUDEDIRS ${SRC}/include/sodium port_include/sodium port)
-
-set(COMPONENT_REQUIRES mbedtls)
-register_component()
+set(include_dirs ${SRC}/include port_include)
+set(priv_include_dirs ${SRC}/include/sodium port_include/sodium port)
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    PRIV_INCLUDE_DIRS "${priv_include_dirs}"
+                    REQUIRES mbedtls)
 
 target_compile_definitions(${COMPONENT_LIB} PRIVATE 
     CONFIGURED

+ 4 - 8
components/libsodium/test/CMakeLists.txt

@@ -2,11 +2,7 @@ if(TESTS_ALL EQUAL 1)
     message("not linking libsodium tests, use '-T libsodium' to test it")
 else()
     get_filename_component(LS_TESTDIR "${CMAKE_CURRENT_LIST_DIR}/../libsodium/test/default" ABSOLUTE)
-
-    set(COMPONENT_ADD_INCLUDEDIRS "." "${LS_TESTDIR}/../quirks")
-
-    set(COMPONENT_REQUIRES unity libsodium)
-
+    
     set(TEST_CASES "chacha20;aead_chacha20poly1305;box;box2;ed25519_convert;sign;hash")
 
     foreach(test_case ${TEST_CASES})
@@ -14,9 +10,9 @@ else()
         list(APPEND TEST_CASES_FILES ${test_case_file})
     endforeach()
 
-    set(COMPONENT_SRCS "${TEST_CASES_FILES};test_sodium.c")
-
-    register_component()
+    idf_component_register(SRCS "${TEST_CASES_FILES}" "test_sodium.c"
+                        INCLUDE_DIRS "." "${LS_TESTDIR}/../quirks"
+                        REQUIRES unity libsodium)
 
     # The libsodium test suite is designed to be run each test case as an executable on a desktop computer and uses
     # filesytem to write & then compare contents of each file.

+ 3 - 4
components/log/CMakeLists.txt

@@ -1,4 +1,3 @@
-set(COMPONENT_SRCS "log.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_REQUIRES soc)
-register_component()
+idf_component_register(SRCS "log.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_REQUIRES soc)

+ 90 - 91
components/lwip/CMakeLists.txt

@@ -1,4 +1,4 @@
-set(COMPONENT_ADD_INCLUDEDIRS
+set(include_dirs
     include/apps
     include/apps/sntp
     lwip/src/include
@@ -6,92 +6,92 @@ set(COMPONENT_ADD_INCLUDEDIRS
     port/esp32/include/arch
     )
 
-set(COMPONENT_SRCS "apps/dhcpserver/dhcpserver.c"
-                   "apps/ping/esp_ping.c"
-                   "apps/ping/ping.c"
-                   "apps/sntp/sntp.c"
-                   "lwip/src/api/api_lib.c"
-                   "lwip/src/api/api_msg.c"
-                   "lwip/src/api/err.c"
-                   "lwip/src/api/netbuf.c"
-                   "lwip/src/api/netdb.c"
-                   "lwip/src/api/netifapi.c"
-                   "lwip/src/api/sockets.c"
-                   "lwip/src/api/tcpip.c"
-                   "lwip/src/apps/sntp/sntp.c"
-                   "lwip/src/core/def.c"
-                   "lwip/src/core/dns.c"
-                   "lwip/src/core/inet_chksum.c"
-                   "lwip/src/core/init.c"
-                   "lwip/src/core/ip.c"
-                   "lwip/src/core/mem.c"
-                   "lwip/src/core/memp.c"
-                   "lwip/src/core/netif.c"
-                   "lwip/src/core/pbuf.c"
-                   "lwip/src/core/raw.c"
-                   "lwip/src/core/stats.c"
-                   "lwip/src/core/sys.c"
-                   "lwip/src/core/tcp.c"
-                   "lwip/src/core/tcp_in.c"
-                   "lwip/src/core/tcp_out.c"
-                   "lwip/src/core/timeouts.c"
-                   "lwip/src/core/udp.c"
-                   "lwip/src/core/ipv4/autoip.c"
-                   "lwip/src/core/ipv4/dhcp.c"
-                   "lwip/src/core/ipv4/etharp.c"
-                   "lwip/src/core/ipv4/icmp.c"
-                   "lwip/src/core/ipv4/igmp.c"
-                   "lwip/src/core/ipv4/ip4.c"
-                   "lwip/src/core/ipv4/ip4_addr.c"
-                   "lwip/src/core/ipv4/ip4_frag.c"
-                   "lwip/src/core/ipv6/dhcp6.c"
-                   "lwip/src/core/ipv6/ethip6.c"
-                   "lwip/src/core/ipv6/icmp6.c"
-                   "lwip/src/core/ipv6/inet6.c"
-                   "lwip/src/core/ipv6/ip6.c"
-                   "lwip/src/core/ipv6/ip6_addr.c"
-                   "lwip/src/core/ipv6/ip6_frag.c"
-                   "lwip/src/core/ipv6/mld6.c"
-                   "lwip/src/core/ipv6/nd6.c"
-                   "lwip/src/netif/ethernet.c"
-                   "lwip/src/netif/ethernetif.c"
-                   "lwip/src/netif/lowpan6.c"
-                   "lwip/src/netif/slipif.c"
-                   "lwip/src/netif/ppp/auth.c"
-                   "lwip/src/netif/ppp/ccp.c"
-                   "lwip/src/netif/ppp/chap-md5.c"
-                   "lwip/src/netif/ppp/chap-new.c"
-                   "lwip/src/netif/ppp/chap_ms.c"
-                   "lwip/src/netif/ppp/demand.c"
-                   "lwip/src/netif/ppp/eap.c"
-                   "lwip/src/netif/ppp/ecp.c"
-                   "lwip/src/netif/ppp/eui64.c"
-                   "lwip/src/netif/ppp/fsm.c"
-                   "lwip/src/netif/ppp/ipcp.c"
-                   "lwip/src/netif/ppp/ipv6cp.c"
-                   "lwip/src/netif/ppp/lcp.c"
-                   "lwip/src/netif/ppp/magic.c"
-                   "lwip/src/netif/ppp/mppe.c"
-                   "lwip/src/netif/ppp/multilink.c"
-                   "lwip/src/netif/ppp/ppp.c"
-                   "lwip/src/netif/ppp/pppapi.c"
-                   "lwip/src/netif/ppp/pppcrypt.c"
-                   "lwip/src/netif/ppp/pppoe.c"
-                   "lwip/src/netif/ppp/pppol2tp.c"
-                   "lwip/src/netif/ppp/pppos.c"
-                   "lwip/src/netif/ppp/upap.c"
-                   "lwip/src/netif/ppp/utils.c"
-                   "lwip/src/netif/ppp/vj.c"
-                   "port/esp32/vfs_lwip.c"
-                   "port/esp32/debug/lwip_debug.c"
-                   "port/esp32/freertos/sys_arch.c"
-                   "port/esp32/netif/dhcp_state.c"
-                   "port/esp32/netif/ethernetif.c"
-                   "port/esp32/netif/nettestif.c"
-                   "port/esp32/netif/wlanif.c")
+set(srcs "apps/dhcpserver/dhcpserver.c"
+        "apps/ping/esp_ping.c"
+        "apps/ping/ping.c"
+        "apps/sntp/sntp.c"
+        "lwip/src/api/api_lib.c"
+        "lwip/src/api/api_msg.c"
+        "lwip/src/api/err.c"
+        "lwip/src/api/netbuf.c"
+        "lwip/src/api/netdb.c"
+        "lwip/src/api/netifapi.c"
+        "lwip/src/api/sockets.c"
+        "lwip/src/api/tcpip.c"
+        "lwip/src/apps/sntp/sntp.c"
+        "lwip/src/core/def.c"
+        "lwip/src/core/dns.c"
+        "lwip/src/core/inet_chksum.c"
+        "lwip/src/core/init.c"
+        "lwip/src/core/ip.c"
+        "lwip/src/core/mem.c"
+        "lwip/src/core/memp.c"
+        "lwip/src/core/netif.c"
+        "lwip/src/core/pbuf.c"
+        "lwip/src/core/raw.c"
+        "lwip/src/core/stats.c"
+        "lwip/src/core/sys.c"
+        "lwip/src/core/tcp.c"
+        "lwip/src/core/tcp_in.c"
+        "lwip/src/core/tcp_out.c"
+        "lwip/src/core/timeouts.c"
+        "lwip/src/core/udp.c"
+        "lwip/src/core/ipv4/autoip.c"
+        "lwip/src/core/ipv4/dhcp.c"
+        "lwip/src/core/ipv4/etharp.c"
+        "lwip/src/core/ipv4/icmp.c"
+        "lwip/src/core/ipv4/igmp.c"
+        "lwip/src/core/ipv4/ip4.c"
+        "lwip/src/core/ipv4/ip4_addr.c"
+        "lwip/src/core/ipv4/ip4_frag.c"
+        "lwip/src/core/ipv6/dhcp6.c"
+        "lwip/src/core/ipv6/ethip6.c"
+        "lwip/src/core/ipv6/icmp6.c"
+        "lwip/src/core/ipv6/inet6.c"
+        "lwip/src/core/ipv6/ip6.c"
+        "lwip/src/core/ipv6/ip6_addr.c"
+        "lwip/src/core/ipv6/ip6_frag.c"
+        "lwip/src/core/ipv6/mld6.c"
+        "lwip/src/core/ipv6/nd6.c"
+        "lwip/src/netif/ethernet.c"
+        "lwip/src/netif/ethernetif.c"
+        "lwip/src/netif/lowpan6.c"
+        "lwip/src/netif/slipif.c"
+        "lwip/src/netif/ppp/auth.c"
+        "lwip/src/netif/ppp/ccp.c"
+        "lwip/src/netif/ppp/chap-md5.c"
+        "lwip/src/netif/ppp/chap-new.c"
+        "lwip/src/netif/ppp/chap_ms.c"
+        "lwip/src/netif/ppp/demand.c"
+        "lwip/src/netif/ppp/eap.c"
+        "lwip/src/netif/ppp/ecp.c"
+        "lwip/src/netif/ppp/eui64.c"
+        "lwip/src/netif/ppp/fsm.c"
+        "lwip/src/netif/ppp/ipcp.c"
+        "lwip/src/netif/ppp/ipv6cp.c"
+        "lwip/src/netif/ppp/lcp.c"
+        "lwip/src/netif/ppp/magic.c"
+        "lwip/src/netif/ppp/mppe.c"
+        "lwip/src/netif/ppp/multilink.c"
+        "lwip/src/netif/ppp/ppp.c"
+        "lwip/src/netif/ppp/pppapi.c"
+        "lwip/src/netif/ppp/pppcrypt.c"
+        "lwip/src/netif/ppp/pppoe.c"
+        "lwip/src/netif/ppp/pppol2tp.c"
+        "lwip/src/netif/ppp/pppos.c"
+        "lwip/src/netif/ppp/upap.c"
+        "lwip/src/netif/ppp/utils.c"
+        "lwip/src/netif/ppp/vj.c"
+        "port/esp32/vfs_lwip.c"
+        "port/esp32/debug/lwip_debug.c"
+        "port/esp32/freertos/sys_arch.c"
+        "port/esp32/netif/dhcp_state.c"
+        "port/esp32/netif/ethernetif.c"
+        "port/esp32/netif/nettestif.c"
+        "port/esp32/netif/wlanif.c")
 
 if(CONFIG_LWIP_PPP_SUPPORT)
-    list(APPEND COMPONENT_SRCS "lwip/src/netif/ppp/auth.c"
+    list(APPEND srcs "lwip/src/netif/ppp/auth.c"
                    "lwip/src/netif/ppp/ccp.c"
                    "lwip/src/netif/ppp/chap-md5.c"
                    "lwip/src/netif/ppp/chap-new.c"
@@ -123,12 +123,11 @@ if(CONFIG_LWIP_PPP_SUPPORT)
                    "lwip/src/netif/ppp/polarssl/sha1.c")
 endif()
 
-set(COMPONENT_REQUIRES vfs esp_wifi)
-set(COMPONENT_PRIV_REQUIRES ethernet tcpip_adapter nvs_flash)
-
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    LDFRAGMENTS linker.lf
+                    REQUIRES vfs esp_wifi
+                    PRIV_REQUIRES ethernet tcpip_adapter nvs_flash)
 
 # lots of LWIP source files evaluate macros that check address of stack variables
 target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-address)

+ 3 - 5
components/mbedtls/CMakeLists.txt

@@ -1,8 +1,6 @@
-set(COMPONENT_ADD_INCLUDEDIRS "port/include" "mbedtls/include")
-set(COMPONENT_SRCS "mbedtls.c")
-set(COMPONENT_REQUIRES lwip)
-
-register_component()
+idf_component_register(SRCS "mbedtls.c"
+                    INCLUDE_DIRS "port/include" "mbedtls/include"
+                    REQUIRES lwip)
 
 # Only build mbedtls libraries
 set(ENABLE_TESTING CACHE BOOL OFF)

+ 3 - 6
components/mbedtls/test/CMakeLists.txt

@@ -1,9 +1,6 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils mbedtls)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils mbedtls)
 
 idf_component_get_property(mbedtls mbedtls COMPONENT_LIB)
 target_compile_definitions(${mbedtls} PUBLIC "-DMBEDTLS_DEPRECATED_WARNING")

+ 6 - 8
components/mdns/CMakeLists.txt

@@ -1,9 +1,7 @@
-set(COMPONENT_SRCS "mdns.c"
-                   "mdns_console.c"
-                   "mdns_networking.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS "private_include")
-set(COMPONENT_REQUIRES lwip mbedtls console tcpip_adapter)
-
-register_component()
+idf_component_register(SRCS "mdns.c"
+                            "mdns_console.c"
+                            "mdns_networking.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "private_include"
+                    REQUIRES lwip mbedtls console tcpip_adapter)
 

+ 2 - 3
components/mdns/test/CMakeLists.txt

@@ -1,3 +1,2 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_PRIV_REQUIRES unity test_utils mdns)
-register_component()
+idf_component_register(SRC_DIRS "."
+                    PRIV_REQUIRES unity test_utils mdns)

+ 7 - 10
components/mqtt/CMakeLists.txt

@@ -1,10 +1,7 @@
-set(COMPONENT_ADD_INCLUDEDIRS esp-mqtt/include)
-set(COMPONENT_PRIV_INCLUDEDIRS "esp-mqtt/lib/include")
-set(COMPONENT_SRCS "esp-mqtt/mqtt_client.c"
-                   "esp-mqtt/lib/mqtt_msg.c"
-                   "esp-mqtt/lib/mqtt_outbox.c"
-                   "esp-mqtt/lib/platform_esp32_idf.c")
-
-set(COMPONENT_REQUIRES lwip nghttp mbedtls tcp_transport)
-
-register_component()
+idf_component_register(SRCS "esp-mqtt/mqtt_client.c"
+                            "esp-mqtt/lib/mqtt_msg.c"
+                            "esp-mqtt/lib/mqtt_outbox.c"
+                            "esp-mqtt/lib/platform_esp32_idf.c"
+                    INCLUDE_DIRS esp-mqtt/include
+                    PRIV_INCLUDE_DIRS "esp-mqtt/lib/include"
+                    REQUIRES lwip nghttp mbedtls tcp_transport)

+ 22 - 21
components/newlib/CMakeLists.txt

@@ -1,20 +1,20 @@
-set(COMPONENT_SRCS "heap.c"
-                   "locks.c"
-                   "poll.c"
-                   "pthread.c"
-                   "random.c"
-                   "reent_init.c"
-                   "select.c"
-                   "syscall_table.c"
-                   "syscalls.c"
-                   "termios.c"
-                   "time.c"
-                   "utime.c")
-set(COMPONENT_ADD_INCLUDEDIRS platform_include)
+set(srcs "heap.c"
+    "locks.c"
+    "poll.c"
+    "pthread.c"
+    "random.c"
+    "reent_init.c"
+    "select.c"
+    "syscall_table.c"
+    "syscalls.c"
+    "termios.c"
+    "time.c"
+    "utime.c")
+set(include_dirs platform_include)
 
 if(GCC_NOT_5_2_0)
     if(CONFIG_SPIRAM_CACHE_WORKAROUND)
-        set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-c.lf)
+        set(ldfragments esp32-spiram-rom-functions-c.lf)
     endif()
 
     # Forces the linker to include locks, heap, and syscalls from this component,
@@ -27,20 +27,21 @@ else()
     # Remove this section when GCC 5.2.0 is no longer supported
     # 'include' and 'lib' directories should also be removed.
     # An if statement about LIB_PATH below should also be removed.
-    list(APPEND COMPONENT_ADD_INCLUDEDIRS include)
+    list(APPEND include_dirs include)
     set(LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
 
     if(CONFIG_SPIRAM_CACHE_WORKAROUND)
-        set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-psram-workaround.lf)
+        set(ldfragments esp32-spiram-rom-functions-psram-workaround.lf)
     endif()
 endif()
 
-set(COMPONENT_REQUIRES vfs)  # for sys/ioctl.h
-set(COMPONENT_PRIV_REQUIRES soc)
+list(APPEND ldfragments newlib.lf)
 
-list(APPEND COMPONENT_ADD_LDFRAGMENTS newlib.lf)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    REQUIRES vfs 
+                    PRIV_REQUIRES soc
+                    LDFRAGMENTS "${ldfragments}")  
 
 if(LIB_PATH)
     target_link_libraries(${COMPONENT_LIB} INTERFACE "-L ${LIB_PATH}")

+ 3 - 6
components/newlib/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils)

+ 25 - 25
components/nghttp/CMakeLists.txt

@@ -1,28 +1,28 @@
-set(COMPONENT_ADD_INCLUDEDIRS port/include nghttp2/lib/includes)
-set(COMPONENT_SRCS "nghttp2/lib/nghttp2_buf.c"
-                   "nghttp2/lib/nghttp2_callbacks.c"
-                   "nghttp2/lib/nghttp2_debug.c"
-                   "nghttp2/lib/nghttp2_frame.c"
-                   "nghttp2/lib/nghttp2_hd.c"
-                   "nghttp2/lib/nghttp2_hd_huffman.c"
-                   "nghttp2/lib/nghttp2_hd_huffman_data.c"
-                   "nghttp2/lib/nghttp2_helper.c"
-                   "nghttp2/lib/nghttp2_http.c"
-                   "nghttp2/lib/nghttp2_map.c"
-                   "nghttp2/lib/nghttp2_mem.c"
-                   "nghttp2/lib/nghttp2_npn.c"
-                   "nghttp2/lib/nghttp2_option.c"
-                   "nghttp2/lib/nghttp2_outbound_item.c"
-                   "nghttp2/lib/nghttp2_pq.c"
-                   "nghttp2/lib/nghttp2_priority_spec.c"
-                   "nghttp2/lib/nghttp2_queue.c"
-                   "nghttp2/lib/nghttp2_rcbuf.c"
-                   "nghttp2/lib/nghttp2_session.c"
-                   "nghttp2/lib/nghttp2_stream.c"
-                   "nghttp2/lib/nghttp2_submit.c"
-                   "nghttp2/lib/nghttp2_version.c"
-                   "port/http_parser.c")
+set(srcs "nghttp2/lib/nghttp2_buf.c"
+        "nghttp2/lib/nghttp2_callbacks.c"
+        "nghttp2/lib/nghttp2_debug.c"
+        "nghttp2/lib/nghttp2_frame.c"
+        "nghttp2/lib/nghttp2_hd.c"
+        "nghttp2/lib/nghttp2_hd_huffman.c"
+        "nghttp2/lib/nghttp2_hd_huffman_data.c"
+        "nghttp2/lib/nghttp2_helper.c"
+        "nghttp2/lib/nghttp2_http.c"
+        "nghttp2/lib/nghttp2_map.c"
+        "nghttp2/lib/nghttp2_mem.c"
+        "nghttp2/lib/nghttp2_npn.c"
+        "nghttp2/lib/nghttp2_option.c"
+        "nghttp2/lib/nghttp2_outbound_item.c"
+        "nghttp2/lib/nghttp2_pq.c"
+        "nghttp2/lib/nghttp2_priority_spec.c"
+        "nghttp2/lib/nghttp2_queue.c"
+        "nghttp2/lib/nghttp2_rcbuf.c"
+        "nghttp2/lib/nghttp2_session.c"
+        "nghttp2/lib/nghttp2_stream.c"
+        "nghttp2/lib/nghttp2_submit.c"
+        "nghttp2/lib/nghttp2_version.c"
+        "port/http_parser.c")
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS port/include nghttp2/lib/includes)
 
 target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DHAVE_CONFIG_H")

+ 10 - 13
components/nvs_flash/CMakeLists.txt

@@ -1,13 +1,10 @@
-set(COMPONENT_SRCS "src/nvs_api.cpp"
-                   "src/nvs_encr.cpp"
-                   "src/nvs_item_hash_list.cpp"
-                   "src/nvs_ops.cpp"
-                   "src/nvs_page.cpp"
-                   "src/nvs_pagemanager.cpp"
-                   "src/nvs_storage.cpp"
-                   "src/nvs_types.cpp")
-set(COMPONENT_ADD_INCLUDEDIRS include)
-
-set(COMPONENT_REQUIRES spi_flash mbedtls)
-
-register_component()
+idf_component_register(SRCS "src/nvs_api.cpp"
+                            "src/nvs_encr.cpp"
+                            "src/nvs_item_hash_list.cpp"
+                            "src/nvs_ops.cpp"
+                            "src/nvs_page.cpp"
+                            "src/nvs_pagemanager.cpp"
+                            "src/nvs_storage.cpp"
+                            "src/nvs_types.cpp"
+                    REQUIRES spi_flash mbedtls
+                    INCLUDE_DIRS include)

+ 3 - 6
components/nvs_flash/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils nvs_flash bootloader_support)
-
-register_component()
+idf_component_register(SRCS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils nvs_flash bootloader_support)

+ 11 - 14
components/openssl/CMakeLists.txt

@@ -1,14 +1,11 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_PRIV_INCLUDEDIRS include/internal include/platform include/openssl)
-set(COMPONENT_SRCS "library/ssl_cert.c"
-                   "library/ssl_lib.c"
-                   "library/ssl_methods.c"
-                   "library/ssl_pkey.c"
-                   "library/ssl_stack.c"
-                   "library/ssl_x509.c"
-                   "platform/ssl_pm.c"
-                   "platform/ssl_port.c")
-
-set(COMPONENT_REQUIRES mbedtls)
-
-register_component()
+idf_component_register(SRCS "library/ssl_cert.c"
+                            "library/ssl_lib.c"
+                            "library/ssl_methods.c"
+                            "library/ssl_pkey.c"
+                            "library/ssl_stack.c"
+                            "library/ssl_x509.c"
+                            "platform/ssl_pm.c"
+                            "platform/ssl_port.c"
+                    REQUIRES mbedtls
+                    INCLUDE_DIRS include
+                    PRIV_INCLUDE_DIRS include/internal include/platform include/openssl)

+ 1 - 1
components/partition_table/CMakeLists.txt

@@ -1,4 +1,4 @@
-register_config_only_component()
+idf_component_register()
 
 if(BOOTLOADER_BUILD)
     return()

+ 3 - 6
components/partition_table/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils)

+ 2 - 4
components/protobuf-c/CMakeLists.txt

@@ -1,4 +1,2 @@
-set(COMPONENT_ADD_INCLUDEDIRS protobuf-c)
-set(COMPONENT_SRCS "protobuf-c/protobuf-c/protobuf-c.c")
-
-register_component()
+idf_component_register(SRCS "protobuf-c/protobuf-c/protobuf-c.c"
+                    INCLUDE_DIRS protobuf-c)

+ 18 - 17
components/protocomm/CMakeLists.txt

@@ -1,25 +1,26 @@
-set(COMPONENT_ADD_INCLUDEDIRS include/common
-                              include/security
-                              include/transports)
-set(COMPONENT_PRIV_INCLUDEDIRS proto-c src/common src/simple_ble)
-set(COMPONENT_SRCS  "src/common/protocomm.c"
-                    "src/security/security0.c"
-                    "src/security/security1.c"
-                    "proto-c/constants.pb-c.c"
-                    "proto-c/sec0.pb-c.c"
-                    "proto-c/sec1.pb-c.c"
-                    "proto-c/session.pb-c.c"
-                    "src/transports/protocomm_console.c"
-                    "src/transports/protocomm_httpd.c")
-
-set(COMPONENT_PRIV_REQUIRES protobuf-c mbedtls console esp_http_server bt)
+set(include_dirs include/common
+                include/security
+                include/transports)
+set(priv_include_dirs proto-c src/common src/simple_ble)
+set(srcs "src/common/protocomm.c"
+        "src/security/security0.c"
+        "src/security/security1.c"
+        "proto-c/constants.pb-c.c"
+        "proto-c/sec0.pb-c.c"
+        "proto-c/sec1.pb-c.c"
+        "proto-c/session.pb-c.c"
+        "src/transports/protocomm_console.c"
+        "src/transports/protocomm_httpd.c")
 
 if(CONFIG_BT_ENABLED)
     if(CONFIG_BT_BLUEDROID_ENABLED)
-        list(APPEND COMPONENT_SRCS
+        list(APPEND srcs
             "src/simple_ble/simple_ble.c"
             "src/transports/protocomm_ble.c")
     endif()
 endif()
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    PRIV_INCLUDE_DIRS "${priv_include_dirs}"
+                    PRIV_REQUIRES protobuf-c mbedtls console esp_http_server bt)

+ 4 - 7
components/protocomm/test/CMakeLists.txt

@@ -1,7 +1,4 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-set(COMPONENT_PRIV_INCLUDEDIRS "../proto-c/")
-
-set(COMPONENT_REQUIRES unity mbedtls protocomm protobuf-c)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    PRIV_INCLUDE_DIRS "../proto-c/"
+                    REQUIRES unity mbedtls protocomm protobuf-c)

+ 4 - 5
components/pthread/CMakeLists.txt

@@ -1,8 +1,7 @@
-set(COMPONENT_SRCS "pthread.c"
-                   "pthread_cond_var.c"
-                   "pthread_local_storage.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-register_component()
+idf_component_register(SRCS "pthread.c"
+                            "pthread_cond_var.c"
+                            "pthread_local_storage.c"
+                    INCLUDE_DIRS include)
 
 if(CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP)
     target_link_libraries(${COMPONENT_LIB} "-Wl,--wrap=vPortCleanUpTCB")

+ 3 - 6
components/pthread/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils pthread)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils pthread)

+ 9 - 10
components/sdmmc/CMakeLists.txt

@@ -1,10 +1,9 @@
-set(COMPONENT_SRCS "sdmmc_cmd.c"
-                   "sdmmc_common.c"
-                   "sdmmc_init.c"
-                   "sdmmc_io.c"
-                   "sdmmc_mmc.c"
-                   "sdmmc_sd.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_REQUIRES driver)
-set(COMPONENT_PRIV_REQUIRES soc)
-register_component()
+idf_component_register(SRCS "sdmmc_cmd.c"
+                            "sdmmc_common.c"
+                            "sdmmc_init.c"
+                            "sdmmc_io.c"
+                            "sdmmc_mmc.c"
+                            "sdmmc_sd.c"
+                    INCLUDE_DIRS include
+                    REQUIRES driver
+                    PRIV_REQUIRES soc)

+ 3 - 6
components/sdmmc/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity sdmmc)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity sdmmc)

+ 3 - 6
components/smartconfig_ack/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCS "smartconfig_ack.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_PRIV_REQUIRES lwip tcpip_adapter)
-
-register_component()
+idf_component_register(SRCS "smartconfig_ack.c"
+                    INCLUDE_DIRS include
+                    PRIV_REQUIRES lwip tcpip_adapter)

+ 7 - 9
components/soc/CMakeLists.txt

@@ -4,12 +4,12 @@ if(EXISTS "${COMPONENT_DIR}/${soc_name}")
     include(${COMPONENT_DIR}/${soc_name}/sources.cmake)
 
     spaces2list(SOC_SRCS)
-    add_prefix(COMPONENT_SRCS "${soc_name}/" ${SOC_SRCS})
-    set(COMPONENT_ADD_INCLUDEDIRS ${soc_name}/include)
+    add_prefix(srcs "${soc_name}/" ${SOC_SRCS})
+    set(include_dirs ${soc_name}/include)
 endif()
 
-list(APPEND COMPONENT_ADD_INCLUDEDIRS include)
-list(APPEND COMPONENT_SRCS "src/memory_layout_utils.c"
+list(APPEND include_dirs include)
+list(APPEND srcs "src/memory_layout_utils.c"
         "src/lldesc.c"
         "src/hal/spi_hal.c"
         "src/hal/spi_hal_iram.c"
@@ -20,8 +20,6 @@ list(APPEND COMPONENT_SRCS "src/memory_layout_utils.c"
         "src/hal/spi_flash_hal_iram.c"
     )
 
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-set(COMPONENT_REQUIRES)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    LDFRAGMENTS linker.lf)

+ 6 - 5
components/soc/test/CMakeLists.txt

@@ -1,10 +1,11 @@
 idf_build_get_property(soc_name IDF_TARGET)
+
 get_filename_component(soc_test "${CMAKE_CURRENT_SOURCE_DIR}/../${soc_name}/test" ABSOLUTE)
 if(EXISTS "${soc_test}")
-    set(COMPONENT_SRCS "${soc_test}")
-    set(COMPONENT_ADD_INCLUDEDIRS "${soc_test}")
+    set(srcs "${soc_test}")
+    set(include_dirs "${soc_test}")
 endif()
 
-set(COMPONENT_REQUIRES unity test_utils)
-
-register_component()
+idf_component_register(SRC_DIRS "${src_dirs}"
+                    INCLUDE_DIRS "${include_dirs}"
+                    REQUIRES unity test_utils)

+ 10 - 10
components/spi_flash/CMakeLists.txt

@@ -1,10 +1,10 @@
+set(priv_requires bootloader_support soc)
 if(BOOTLOADER_BUILD)
     # Bootloader needs SPIUnlock from this file, but doesn't
     # need other parts of this component
-    set(COMPONENT_SRCS "spi_flash_rom_patch.c")
-    set(COMPONENT_PRIV_REQUIRES bootloader_support soc)
+    set(srcs "spi_flash_rom_patch.c")
 else()
-    set(COMPONENT_SRCS "cache_utils.c"
+    set(srcs "cache_utils.c"
                    "flash_mmap.c"
                    "flash_ops.c"
                    "partition.c"
@@ -17,13 +17,13 @@ else()
                    "memspi_host_driver.c"
                    )
     if(NOT CONFIG_SPI_FLASH_USE_LEGACY_IMPL)
-        list(APPEND COMPONENT_SRCS "esp_flash_api.c")
+        list(APPEND srcs "esp_flash_api.c")
     endif()
-    set(COMPONENT_PRIV_REQUIRES bootloader_support app_update soc)
+    set(priv_requires bootloader_support app_update soc)
 endif()
 
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_PRIV_INCLUDEDIRS private_include)
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    PRIV_REQUIRES "${priv_requires}"
+                    INCLUDE_DIRS include
+                    PRIV_INCLUDE_DIRS private_include
+                    LDFRAGMENTS linker.lf)

+ 3 - 6
components/spi_flash/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils spi_flash bootloader_support app_update)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils spi_flash bootloader_support app_update)

+ 11 - 14
components/spiffs/CMakeLists.txt

@@ -1,15 +1,12 @@
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS "." "spiffs/src")
-set(COMPONENT_SRCS "esp_spiffs.c"
-                   "spiffs_api.c"
-                   "spiffs/src/spiffs_cache.c"
-                   "spiffs/src/spiffs_check.c"
-                   "spiffs/src/spiffs_gc.c"
-                   "spiffs/src/spiffs_hydrogen.c"
-                   "spiffs/src/spiffs_nucleus.c")
-
-set(COMPONENT_REQUIRES spi_flash)
-set(COMPONENT_PRIV_REQUIRES bootloader_support)
-
-register_component()
+idf_component_register(SRCS "esp_spiffs.c"
+                            "spiffs_api.c"
+                            "spiffs/src/spiffs_cache.c"
+                            "spiffs/src/spiffs_check.c"
+                            "spiffs/src/spiffs_gc.c"
+                            "spiffs/src/spiffs_hydrogen.c"
+                            "spiffs/src/spiffs_nucleus.c"
+                    INCLUDE_DIRS "include"
+                    PRIV_INCLUDE_DIRS "." "spiffs/src"
+                    REQUIRES spi_flash
+                    PRIV_REQUIRES bootloader_support)
 

+ 3 - 6
components/spiffs/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils spiffs)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils spiffs)

+ 8 - 12
components/tcp_transport/CMakeLists.txt

@@ -1,12 +1,8 @@
-set(COMPONENT_SRCS "transport.c"
-                   "transport_ssl.c"
-                   "transport_tcp.c"
-                   "transport_ws.c"
-                   "transport_utils.c"
-                   "transport_strcasestr.c")
-
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_REQUIRES lwip esp-tls)
-
-register_component()
+idf_component_register(SRCS "transport.c"
+                            "transport_ssl.c"
+                            "transport_tcp.c"
+                            "transport_ws.c"
+                            "transport_utils.c"
+                            "transport_strcasestr.c"
+                    INCLUDE_DIRS include
+                    REQUIRES lwip esp-tls)

+ 3 - 7
components/tcpip_adapter/CMakeLists.txt

@@ -1,7 +1,3 @@
-set(COMPONENT_SRCS "event_handlers.c"
-                   "tcpip_adapter_lwip.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-
-set(COMPONENT_REQUIRES lwip)
-
-register_component()
+idf_component_register(SRCS "event_handlers.c" "tcpip_adapter_lwip.c"
+                    INCLUDE_DIRS include
+                    REQUIRES lwip ethernet)

+ 3 - 4
components/ulp/CMakeLists.txt

@@ -1,4 +1,3 @@
-set(COMPONENT_SRCS "ulp.c"
-                   "ulp_macro.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-register_component()
+idf_component_register(SRCS "ulp.c"
+                            "ulp_macro.c"
+                    INCLUDE_DIRS include)

+ 3 - 6
components/ulp/test/CMakeLists.txt

@@ -1,9 +1,6 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity ulp soc esp_common)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity ulp soc esp_common)
 
 set(ulp_app_name ulp_test_app)
 set(ulp_s_sources "ulp/test_jumps.S")

+ 6 - 8
components/unity/CMakeLists.txt

@@ -1,22 +1,20 @@
-set(COMPONENT_SRCS "unity/src/unity.c"
-                   "unity_port_esp32.c")
-
-set(COMPONENT_ADD_INCLUDEDIRS "include"
-                              "unity/src")
+set(srcs "unity/src/unity.c"
+        "unity_port_esp32.c")
 
 if(CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL)
     list(APPEND COMPONENT_PRIV_INCLUDEDIRS "include/priv")
 endif()
 
 if(CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER)
-    list(APPEND COMPONENT_SRCS "unity_runner.c")
+    list(APPEND srcs "unity_runner.c")
 endif()
 
 if(CONFIG_UNITY_ENABLE_FIXTURE)
-    list(APPEND COMPONENT_SRCS "unity/extras/fixture/src/unity_fixture.c")
+    list(APPEND srcs "unity/extras/fixture/src/unity_fixture.c")
 endif()
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS "include" "unity/src")
 
 target_compile_definitions(${COMPONENT_LIB} PUBLIC
     -DUNITY_INCLUDE_CONFIG_H

+ 4 - 5
components/vfs/CMakeLists.txt

@@ -1,8 +1,7 @@
-set(COMPONENT_SRCS "vfs.c"
-                   "vfs_uart.c"
-                   "vfs_semihost.c")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-register_component()
+idf_component_register(SRCS "vfs.c"
+                            "vfs_uart.c"
+                            "vfs_semihost.c"
+                    INCLUDE_DIRS include)
 
 # Some newlib syscalls are implemented in vfs.c, make sure these are always
 # seen by the linker

+ 4 - 8
components/vfs/test/CMakeLists.txt

@@ -1,8 +1,4 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils vfs fatfs spiffs)
-
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils vfs fatfs spiffs
+                    LDFRAGMENTS linker.lf)

+ 10 - 11
components/wear_levelling/CMakeLists.txt

@@ -1,11 +1,10 @@
-set(COMPONENT_SRCS "Partition.cpp"
-                   "SPI_Flash.cpp"
-                   "WL_Ext_Perf.cpp"
-                   "WL_Ext_Safe.cpp"
-                   "WL_Flash.cpp"
-                   "crc32.cpp"
-                   "wear_levelling.cpp")
-set(COMPONENT_ADD_INCLUDEDIRS "include")
-set(COMPONENT_PRIV_INCLUDEDIRS private_include)
-set(COMPONENT_REQUIRES spi_flash)
-register_component()
+idf_component_register(SRCS "Partition.cpp"
+                            "SPI_Flash.cpp"
+                            "WL_Ext_Perf.cpp"
+                            "WL_Ext_Safe.cpp"
+                            "WL_Flash.cpp"
+                            "crc32.cpp"
+                            "wear_levelling.cpp"
+                    INCLUDE_DIRS include
+                    PRIV_INCLUDE_DIRS private_include
+                    REQUIRES spi_flash)

+ 4 - 8
components/wear_levelling/test/CMakeLists.txt

@@ -1,8 +1,4 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity test_utils wear_levelling)
-
-set(COMPONENT_EMBED_FILES test_partition_v1.bin)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity test_utils wear_levelling
+                    EMBED_FILES test_partition_v1.bin)

+ 13 - 14
components/wifi_provisioning/CMakeLists.txt

@@ -1,21 +1,20 @@
-set(COMPONENT_ADD_INCLUDEDIRS include)
-set(COMPONENT_PRIV_INCLUDEDIRS src proto-c ../protocomm/proto-c)
-set(COMPONENT_SRCS  "src/wifi_config.c"
-                    "src/manager.c"
-                    "src/handlers.c"
-                    "src/scheme_softap.c"
-                    "src/scheme_console.c"
-                    "proto-c/wifi_config.pb-c.c"
-                    "proto-c/wifi_constants.pb-c.c")
-
-set(COMPONENT_REQUIRES lwip protocomm)
-set(COMPONENT_PRIV_REQUIRES protobuf-c bt mdns json)
+set(srcs "src/wifi_config.c"
+        "src/manager.c"
+        "src/handlers.c"
+        "src/scheme_softap.c"
+        "src/scheme_console.c"
+        "proto-c/wifi_config.pb-c.c"
+        "proto-c/wifi_constants.pb-c.c")
 
 if(CONFIG_BT_ENABLED)
     if(CONFIG_BT_BLUEDROID_ENABLED)
-        list(APPEND COMPONENT_SRCS
+        list(APPEND srcs
             "src/scheme_ble.c")
     endif()
 endif()
 
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS include
+                    PRIV_INCLUDE_DIRS src proto-c ../protocomm/proto-c
+                    REQUIRES lwip protocomm
+                    PRIV_REQUIRES protobuf-c bt mdns json)

+ 77 - 79
components/wpa_supplicant/CMakeLists.txt

@@ -1,83 +1,81 @@
-set(COMPONENT_SRCS "port/os_xtensa.c"
-                   "src/crypto/aes-cbc.c"
-                   "src/crypto/aes-internal-dec.c"
-                   "src/crypto/aes-internal-enc.c"
-                   "src/crypto/aes-internal.c"
-                   "src/crypto/aes-unwrap.c"
-                   "src/crypto/aes-wrap.c"
-                   "src/crypto/bignum.c"
-                   "src/crypto/crypto_mbedtls.c"
-                   "src/crypto/crypto_internal-cipher.c"
-                   "src/crypto/crypto_internal-modexp.c"
-                   "src/crypto/crypto_internal-rsa.c"
-                   "src/crypto/crypto_internal.c"
-                   "src/crypto/des-internal.c"
-                   "src/crypto/dh_group5.c"
-                   "src/crypto/dh_groups.c"
-                   "src/crypto/md4-internal.c"
-                   "src/crypto/md5-internal.c"
-                   "src/crypto/md5.c"
-                   "src/crypto/ms_funcs.c"
-                   "src/crypto/rc4.c"
-                   "src/crypto/sha1-internal.c"
-                   "src/crypto/sha1-pbkdf2.c"
-                   "src/crypto/sha1.c"
-                   "src/crypto/sha256-internal.c"
-                   "src/crypto/sha256.c"
-                   "src/fast_crypto/fast_aes-cbc.c"
-                   "src/fast_crypto/fast_aes-unwrap.c"
-                   "src/fast_crypto/fast_aes-wrap.c"
-                   "src/fast_crypto/fast_crypto_internal-cipher.c"
-                   "src/fast_crypto/fast_crypto_internal-modexp.c"
-                   "src/fast_crypto/fast_crypto_internal.c"
-                   "src/fast_crypto/fast_sha256-internal.c"
-                   "src/fast_crypto/fast_sha256.c"
-                   "src/wpa2/eap_peer/chap.c"
-                   "src/wpa2/eap_peer/eap.c"
-                   "src/wpa2/eap_peer/eap_common.c"
-                   "src/wpa2/eap_peer/eap_mschapv2.c"
-                   "src/wpa2/eap_peer/eap_peap.c"
-                   "src/wpa2/eap_peer/eap_peap_common.c"
-                   "src/wpa2/eap_peer/eap_tls.c"
-                   "src/wpa2/eap_peer/eap_tls_common.c"
-                   "src/wpa2/eap_peer/eap_ttls.c"
-                   "src/wpa2/eap_peer/mschapv2.c"
-                   "src/wpa2/tls/asn1.c"
-                   "src/wpa2/tls/bignum.c"
-                   "src/wpa2/tls/pkcs1.c"
-                   "src/wpa2/tls/pkcs5.c"
-                   "src/wpa2/tls/pkcs8.c"
-                   "src/wpa2/tls/rsa.c"
-                   "src/wpa2/tls/tls_internal.c"
-                   "src/wpa2/tls/tlsv1_client.c"
-                   "src/wpa2/tls/tlsv1_client_read.c"
-                   "src/wpa2/tls/tlsv1_client_write.c"
-                   "src/wpa2/tls/tlsv1_common.c"
-                   "src/wpa2/tls/tlsv1_cred.c"
-                   "src/wpa2/tls/tlsv1_record.c"
-                   "src/wpa2/tls/tlsv1_server.c"
-                   "src/wpa2/tls/tlsv1_server_read.c"
-                   "src/wpa2/tls/tlsv1_server_write.c"
-                   "src/wpa2/tls/x509v3.c"
-                   "src/wpa2/utils/base64.c"
-                   "src/wpa2/utils/ext_password.c"
-                   "src/wps/eap_common.c"
-                   "src/wps/uuid.c"
-                   "src/wps/wps.c"
-                   "src/wps/wps_attr_build.c"
-                   "src/wps/wps_attr_parse.c"
-                   "src/wps/wps_attr_process.c"
-                   "src/wps/wps_common.c"
-                   "src/wps/wps_dev_attr.c"
-                   "src/wps/wps_enrollee.c"
-                   "src/wps/wps_registrar.c"
-                   "src/wps/wps_validate.c")
-set(COMPONENT_ADD_INCLUDEDIRS include port/include)
+set(srcs "port/os_xtensa.c"
+        "src/crypto/aes-cbc.c"
+        "src/crypto/aes-internal-dec.c"
+        "src/crypto/aes-internal-enc.c"
+        "src/crypto/aes-internal.c"
+        "src/crypto/aes-unwrap.c"
+        "src/crypto/aes-wrap.c"
+        "src/crypto/bignum.c"
+        "src/crypto/crypto_mbedtls.c"
+        "src/crypto/crypto_internal-cipher.c"
+        "src/crypto/crypto_internal-modexp.c"
+        "src/crypto/crypto_internal-rsa.c"
+        "src/crypto/crypto_internal.c"
+        "src/crypto/des-internal.c"
+        "src/crypto/dh_group5.c"
+        "src/crypto/dh_groups.c"
+        "src/crypto/md4-internal.c"
+        "src/crypto/md5-internal.c"
+        "src/crypto/md5.c"
+        "src/crypto/ms_funcs.c"
+        "src/crypto/rc4.c"
+        "src/crypto/sha1-internal.c"
+        "src/crypto/sha1-pbkdf2.c"
+        "src/crypto/sha1.c"
+        "src/crypto/sha256-internal.c"
+        "src/crypto/sha256.c"
+        "src/fast_crypto/fast_aes-cbc.c"
+        "src/fast_crypto/fast_aes-unwrap.c"
+        "src/fast_crypto/fast_aes-wrap.c"
+        "src/fast_crypto/fast_crypto_internal-cipher.c"
+        "src/fast_crypto/fast_crypto_internal-modexp.c"
+        "src/fast_crypto/fast_crypto_internal.c"
+        "src/fast_crypto/fast_sha256-internal.c"
+        "src/fast_crypto/fast_sha256.c"
+        "src/wpa2/eap_peer/chap.c"
+        "src/wpa2/eap_peer/eap.c"
+        "src/wpa2/eap_peer/eap_common.c"
+        "src/wpa2/eap_peer/eap_mschapv2.c"
+        "src/wpa2/eap_peer/eap_peap.c"
+        "src/wpa2/eap_peer/eap_peap_common.c"
+        "src/wpa2/eap_peer/eap_tls.c"
+        "src/wpa2/eap_peer/eap_tls_common.c"
+        "src/wpa2/eap_peer/eap_ttls.c"
+        "src/wpa2/eap_peer/mschapv2.c"
+        "src/wpa2/tls/asn1.c"
+        "src/wpa2/tls/bignum.c"
+        "src/wpa2/tls/pkcs1.c"
+        "src/wpa2/tls/pkcs5.c"
+        "src/wpa2/tls/pkcs8.c"
+        "src/wpa2/tls/rsa.c"
+        "src/wpa2/tls/tls_internal.c"
+        "src/wpa2/tls/tlsv1_client.c"
+        "src/wpa2/tls/tlsv1_client_read.c"
+        "src/wpa2/tls/tlsv1_client_write.c"
+        "src/wpa2/tls/tlsv1_common.c"
+        "src/wpa2/tls/tlsv1_cred.c"
+        "src/wpa2/tls/tlsv1_record.c"
+        "src/wpa2/tls/tlsv1_server.c"
+        "src/wpa2/tls/tlsv1_server_read.c"
+        "src/wpa2/tls/tlsv1_server_write.c"
+        "src/wpa2/tls/x509v3.c"
+        "src/wpa2/utils/base64.c"
+        "src/wpa2/utils/ext_password.c"
+        "src/wps/eap_common.c"
+        "src/wps/uuid.c"
+        "src/wps/wps.c"
+        "src/wps/wps_attr_build.c"
+        "src/wps/wps_attr_parse.c"
+        "src/wps/wps_attr_process.c"
+        "src/wps/wps_common.c"
+        "src/wps/wps_dev_attr.c"
+        "src/wps/wps_enrollee.c"
+        "src/wps/wps_registrar.c"
+        "src/wps/wps_validate.c")
 
-set(COMPONENT_REQUIRES "")
-set(COMPONENT_PRIV_REQUIRES mbedtls)
-
-register_component()
+idf_component_register(SRCS "${srcs}"
+                    INCLUDE_DIRS include port/include
+                    PRIV_REQUIRES mbedtls)
 
 target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-strict-aliasing)
 target_compile_definitions(${COMPONENT_LIB} PRIVATE

+ 3 - 6
components/wpa_supplicant/test/CMakeLists.txt

@@ -1,6 +1,3 @@
-set(COMPONENT_SRCDIRS ".")
-set(COMPONENT_ADD_INCLUDEDIRS ".")
-
-set(COMPONENT_REQUIRES unity wpa_supplicant mbedtls)
-
-register_component()
+idf_component_register(SRC_DIRS "."
+                    INCLUDE_DIRS "."
+                    REQUIRES unity wpa_supplicant mbedtls)

+ 6 - 9
components/xtensa/CMakeLists.txt

@@ -1,10 +1,7 @@
-set(COMPONENT_SRCS "eri.c" "trax.c" "debug_helpers.c" "debug_helpers_asm.S")
+idf_build_get_property(target IDF_TARGET)
+idf_component_register(SRCS "eri.c" "trax.c" "debug_helpers.c" "debug_helpers_asm.S"
+                    INCLUDE_DIRS include ${target}/include
+                    LDFRAGMENTS linker.lf
+                    PRIV_REQUIRES soc)
 
-set(COMPONENT_ADD_INCLUDEDIRS "include" "${IDF_TARGET}/include")
-
-set(COMPONENT_ADD_LDFRAGMENTS linker.lf)
-set(COMPONENT_PRIV_REQUIRES soc)
-
-register_component()
-
-target_link_libraries(${COMPONENT_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/${IDF_TARGET}/libhal.a")
+target_link_libraries(${COMPONENT_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/${target}/libhal.a")