Add core flags dependency back to the target flags, making sure that the core flags headers actually work

pull/15339/head
Jamie Smith 2022-05-28 23:52:57 -07:00 committed by Jay Sridharan
parent 5bddbbc980
commit 46205a7a81
4 changed files with 11 additions and 20 deletions

View File

@ -276,8 +276,7 @@ if(NOT MBED_IS_NATIVE_BUILD)
mbed_create_distro(mbed-os mbed-core-flags mbed-core-sources mbed-rtos-flags mbed-rtos-sources)
# Now make the Mbed OS code depend on the target, ensuring everything has access to the uC's flags and objects.
target_link_libraries(mbed-baremetal PUBLIC ${MBED_TARGET_CMAKE_NAME}-lib)
target_link_libraries(mbed-os PUBLIC ${MBED_TARGET_CMAKE_NAME}-lib)
target_link_libraries(mbed-core-flags INTERFACE ${MBED_TARGET_CMAKE_NAME}-lib)
endif()
# Ninja requires to be forced for response files

View File

@ -22,6 +22,4 @@ target_sources(mbed-psa
src/psa_hrng.c
)
# Make sure that mbed-psa can include headers from Mbed OS and the target
# Must be private so that we do not commit to a baremetal or OS choice
target_link_libraries(mbed-psa PRIVATE mbed-core-flags ${MBED_TARGET_CMAKE_NAME}-lib)
target_link_libraries(mbed-psa PRIVATE mbed-core-flags)

View File

@ -36,23 +36,16 @@ set(CMAKE_EXECUTABLE_SUFFIX .elf)
find_package(Python3 COMPONENTS Interpreter)
include(CheckPythonPackage)
# Check python packages from requirements.txt
file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/../requirements.txt PYTHON_REQUIREMENTS)
foreach(REQUIREMENT ${PYTHON_REQUIREMENTS})
# Look for a string from the start of each line that does not contain "<", ">", "=", or " ".
if(REQUIREMENT MATCHES "^([^<>= ]+)")
set(PACKAGE_NAME ${CMAKE_MATCH_1})
string(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UCASE) # Ucase name needed for CMake variable
string(TOLOWER ${PACKAGE_NAME} PACKAGE_NAME_LCASE) # Lcase name needed for import statement
# Check python packages
set(PYTHON_PACKAGES_TO_CHECK prettytable future jinja2 mbed_tools)
foreach(PACKAGE_NAME ${PYTHON_PACKAGES_TO_CHECK})
string(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UCASE) # Ucase name needed for CMake variable
string(TOLOWER ${PACKAGE_NAME} PACKAGE_NAME_LCASE) # Lcase name needed for import statement
check_python_package(${PACKAGE_NAME_LCASE} HAVE_PYTHON_${PACKAGE_NAME_UCASE})
if(NOT HAVE_PYTHON_${PACKAGE_NAME_UCASE})
message(WARNING "Missing Python dependency ${PACKAGE_NAME}")
endif()
else()
message(FATAL_ERROR "Cannot parse line \"${REQUIREMENT}\" in requirements.txt")
check_python_package(${PACKAGE_NAME_LCASE} HAVE_PYTHON_${PACKAGE_NAME_UCASE})
if(NOT HAVE_PYTHON_${PACKAGE_NAME_UCASE})
message(WARNING "Missing Python dependency ${PACKAGE_NAME}")
endif()
endforeach()
# Check deps for memap

View File

@ -19,6 +19,7 @@ list(APPEND link_options
"-Wl,--end-group"
"-specs=nosys.specs"
"-Wl,--cref"
"-Wl,--allow-multiple-definition"
)
# Add the -Wl,--whole-archive flag as a hack to fix resolution of weak symbols between .a libraries.