esp-idf/tools/cmake/scripts/component_get_requirements.cmake
2019-05-13 19:57:39 +08:00

50 lines
1.5 KiB
CMake

include(${IDF_PATH}/tools/cmake/utilities.cmake)
include("${BUILD_PROPERTIES_FILE}")
include("${SDKCONFIG_CMAKE}")
macro(require_idf_targets)
endmacro()
function(idf_build_get_property var property)
cmake_parse_arguments(_ "GENERATOR_EXPRESSION" "" "" ${ARGN})
if(__GENERATOR_EXPRESSION)
message(FATAL_ERROR "Getting build property generator expression not
supported before idf_component_register().")
endif()
set(${var} ${property} PARENT_SCOPE)
endfunction()
function(print_requires requires priv_requires)
spaces2list(requires)
spaces2list(priv_requires)
string(REPLACE ";" ":" requires "${requires}")
string(REPLACE ";" ":" priv_requires "${priv_requires}")
message("${requires}:::${priv_requires}")
endfunction()
macro(idf_component_register)
set(options)
set(single_value)
set(multi_value SRCS SRC_DIRS EXCLUDE_SRCS
INCLUDE_DIRS PRIV_INCLUDE_DIRS LDFRAGMENTS REQUIRES
PRIV_REQUIRES REQUIRED_IDF_TARGETS EMBED_FILES EMBED_TXTFILES)
cmake_parse_arguments(_ "${options}" "${single_value}" "${multi_value}" "${ARGN}")
print_requires("${__REQUIRES}" "${__PRIV_REQUIRES}")
set(__is_component 1)
return()
endmacro()
macro(register_component)
print_requires("${COMPONENT_REQUIRES}" "${COMPONENT_PRIV_REQUIRES}")
set(__is_component 1)
return()
endmacro()
macro(register_config_only_component)
register_component()
endmacro()
set(CMAKE_BUILD_EARLY_EXPANSION)
include(${COMPONENT_DIR}/CMakeLists.txt OPTIONAL)