mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 18:50:34 +03:00
fix(cmake): Fix "IMPORTED_LOCATION not set for imported target" errors
esp-idf uses imported targets as dummy targets that are never linked. Previous CMake versions would ignore these and not error on unset IMPORTED_LOCATION if they are never actually linked. CMake 4.2 and newer errors during codemodel-v2 api queries when imported targets are missing IMPORTED_LOCATION, so set a dummy location that would error when actually linked, which fixes the error during api queries. Closes https://github.com/espressif/esp-idf/pull/18103
This commit is contained in:
committed by
Frantisek Hrbata
parent
9c66d3416f
commit
13dc32328c
@@ -166,6 +166,8 @@ function(__component_add component_dir prefix component_source)
|
||||
if(NOT component_target IN_LIST component_targets)
|
||||
if(NOT TARGET ${component_target})
|
||||
add_library(${component_target} STATIC IMPORTED)
|
||||
# Set the IMPORTED_LOCATION property to avoid errors on IDE codemodel queries with CMake >=4.2
|
||||
set_property(TARGET ${component_target} PROPERTY IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/dummy.a")
|
||||
endif()
|
||||
idf_build_set_property(__COMPONENT_TARGETS ${component_target} APPEND)
|
||||
else()
|
||||
|
||||
Reference in New Issue
Block a user