| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- cmake_minimum_required(VERSION 3.5)
- project(esp-idf C CXX ASM)
- #
- # Add each component to the build as a library
- #
- foreach(COMPONENT_PATH ${BUILD_COMPONENT_PATHS})
- get_filename_component(COMPONENT_NAME ${COMPONENT_PATH} NAME)
- list(FIND BUILD_TEST_COMPONENT_PATHS ${COMPONENT_PATH} idx)
- if(NOT idx EQUAL -1)
- list(GET BUILD_TEST_COMPONENTS ${idx} test_component)
- set(COMPONENT_NAME ${test_component})
- endif()
- component_get_target(COMPONENT_TARGET ${COMPONENT_NAME})
- add_subdirectory(${COMPONENT_PATH} ${COMPONENT_NAME})
- endforeach()
- unset(COMPONENT_NAME)
- unset(COMPONENT_PATH)
- # each component should see the include directories of its requirements
- #
- # (we can't do this until all components are registered and targets exist in cmake, as we have
- # a circular requirements graph...)
- foreach(component ${BUILD_COMPONENTS})
- component_get_target(component_target ${component})
- if(TARGET ${component_target})
- get_component_requirements(${component} deps priv_deps)
- list(APPEND priv_deps ${IDF_COMPONENT_REQUIRES_COMMON})
- foreach(dep ${deps})
- component_get_target(dep_target ${dep})
- add_component_dependencies(${component_target} ${dep_target} PUBLIC)
- endforeach()
- foreach(dep ${priv_deps})
- component_get_target(dep_target ${dep})
- add_component_dependencies(${component_target} ${dep_target} PRIVATE)
- endforeach()
- endif()
- endforeach()
|