Merge pull request #13870 from rajkan01/feature-cmake-review-comment

CMake: Address review comment from PR#13566
pull/13918/head
Martin Kojtal 2020-11-18 09:42:09 +00:00 committed by GitHub
commit fad7f344e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 47 additions and 74 deletions

View File

@ -62,11 +62,6 @@ if(${MBED_TOOLCHAIN_FILE_USED})
mbed_set_printf_lib(mbed-core ${MBED_PRINTF_LIB}) mbed_set_printf_lib(mbed-core ${MBED_PRINTF_LIB})
endif() endif()
set(MBED_TARGET_LABELS
${MBED_TARGET_LABELS} CACHE INTERNAL ""
)
target_compile_definitions(mbed-core target_compile_definitions(mbed-core
INTERFACE INTERFACE
${MBED_TARGET_DEFINITIONS} ${MBED_TARGET_DEFINITIONS}
@ -124,7 +119,12 @@ add_subdirectory(cmsis/device/rtos EXCLUDE_FROM_ALL)
# Configures the application # Configures the application
# #
function(mbed_configure_app_target target) function(mbed_configure_app_target target)
mbed_set_language_standard(${target}) # Set the language standard to use per target
target_compile_features(${target}
PUBLIC
c_std_11
cxx_std_14
)
endfunction() endfunction()
# #

View File

@ -1,8 +1,6 @@
# Copyright (c) 2020 ARM Limited. All rights reserved. # Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if("MCU_NRF52840" IN_LIST MBED_TARGET_LABELS) if("NRF5x" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MCU_NRF52840)
elseif("NRF5x" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NRF5x) add_subdirectory(TARGET_NRF5x)
endif() endif()

View File

@ -1,2 +0,0 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

View File

@ -19,3 +19,9 @@ target_sources(mbed-ble-cordio
stack/sources/pal_crypto.c stack/sources/pal_crypto.c
stack/sources/pal_timer.c stack/sources/pal_timer.c
) )
target_link_libraries(mbed-ble-cordio
INTERFACE
mbed-ble-cordio_ll
mbed-mbedtls-cryptocell310
)

View File

@ -29,6 +29,11 @@ target_sources(mbed-mbedtls-cryptocell310
source/trng.c source/trng.c
) )
target_compile_definitions(mbed-mbedtls-cryptocell310
INTERFACE
MBED_CONF_CRYPTOCELL310_PRESENT=1
)
target_link_libraries(mbed-mbedtls-cryptocell310 target_link_libraries(mbed-mbedtls-cryptocell310
INTERFACE INTERFACE
mbed-mbedtls mbed-mbedtls

View File

@ -1,36 +1,16 @@
# Copyright (c) 2020 ARM Limited. All rights reserved. # Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
function(_mbed_get_libcc_310_ext) if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") set(LIBCC_310_EXT TOOLCHAIN_GCC_ARM/libcc_310_ext.a)
set(LIBCC_310_EXT TOOLCHAIN_GCC_ARM/libcc_310_ext.a) set(LIBCC_310_TRNG TOOLCHAIN_GCC_ARM/libcc_310_trng.a)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LIBCC_310_EXT TOOLCHAIN_ARM/libcc_310_ext.ar) set(LIBCC_310_EXT TOOLCHAIN_ARM/libcc_310_ext.ar)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR") set(LIBCC_310_TRNG TOOLCHAIN_ARM/libcc_310_trng.ar)
set(LIBCC_310_EXT TOOLCHAIN_IAR/lib_cc310_ext.a) elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
endif() set(LIBCC_310_EXT TOOLCHAIN_IAR/lib_cc310_ext.a)
target_link_libraries(mbed-mbedtls-cryptocell310 set(LIBCC_310_TRNG TOOLCHAIN_IAR/lib_cc310_trng.a)
INTERFACE endif()
./${LIBCC_310_EXT}
)
endfunction()
function(_mbed_get_libcc_310_trng)
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LIBCC_310_TRNG TOOLCHAIN_GCC_ARM/libcc_310_trng.a)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LIBCC_310_TRNG TOOLCHAIN_ARM/libcc_310_trng.ar)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
set(LIBCC_310_TRNG TOOLCHAIN_IAR/lib_cc310_trng.a)
endif()
target_link_libraries(mbed-mbedtls-cryptocell310
INTERFACE
./${LIBCC_310_TRNG}
)
endfunction()
_mbed_get_libcc_310_ext()
_mbed_get_libcc_310_trng()
target_include_directories(mbed-mbedtls-cryptocell310 target_include_directories(mbed-mbedtls-cryptocell310
INTERFACE INTERFACE
@ -40,4 +20,10 @@ target_include_directories(mbed-mbedtls-cryptocell310
target_sources(mbed-mbedtls-cryptocell310 target_sources(mbed-mbedtls-cryptocell310
INTERFACE INTERFACE
crypto_device_platform.c crypto_device_platform.c
) )
target_link_libraries(mbed-mbedtls-cryptocell310
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/${LIBCC_310_EXT}
${CMAKE_CURRENT_SOURCE_DIR}/${LIBCC_310_TRNG}
)

View File

@ -1,18 +1,15 @@
# Copyright (c) 2020 ARM Limited. All rights reserved. # Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
function(_mbed_get_libcc_310_core) if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") set(LIBCC_310_CORE TOOLCHAIN_GCC_ARM/libcc_310_core.a)
set(LIBCC_310_CORE TOOLCHAIN_GCC_ARM/libcc_310_core.a) elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") set(LIBCC_310_CORE TOOLCHAIN_ARM/libcc_310_core.ar)
set(LIBCC_310_CORE TOOLCHAIN_ARM/libcc_310_core.ar) elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR") set(LIBCC_310_CORE TOOLCHAIN_IAR/lib_cc310_ext.a)
set(LIBCC_310_CORE TOOLCHAIN_IAR/lib_cc310_ext.a) endif()
endif()
target_link_libraries(mbed-mbedtls-cryptocell310
INTERFACE
./${LIBCC_310_CORE}
)
endfunction()
_mbed_get_libcc_310_core() target_link_libraries(mbed-mbedtls-cryptocell310
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/${LIBCC_310_CORE}
)

View File

@ -1,7 +1,7 @@
# Copyright (c) 2020 ARM Limited. All rights reserved. # Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# TODO CMake: Perhaps move this/these file(s) # TODO CMake: Perhaps move this/these file(s) into connectivity/drivers/cellular
target_sources(mbed-cellular target_sources(mbed-cellular
INTERFACE INTERFACE
source/CellularNonIPSocket.cpp source/CellularNonIPSocket.cpp

View File

@ -46,23 +46,6 @@ set(CMAKE_CROSSCOMPILING TRUE)
set(CMAKE_C_COMPILER_WORKS TRUE) set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_CXX_COMPILER_WORKS TRUE) set(CMAKE_CXX_COMPILER_WORKS TRUE)
# Set the language standard to use per target
function(mbed_set_language_standard target)
set_target_properties(${target}
PROPERTIES
C_STANDARD 11
C_STANDARD_REQUIRED YES
C_EXTENSIONS YES
)
set_target_properties(${target}
PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED YES
CXX_EXTENSIONS YES
)
endfunction()
# Clear toolchains options for all languages as Mbed OS uses # Clear toolchains options for all languages as Mbed OS uses
# different initialisation options (such as for optimization and debug symbols) # different initialisation options (such as for optimization and debug symbols)
set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "" FORCE)