mirror of
https://github.com/apache/nuttx.git
synced 2026-05-20 04:16:35 +08:00
toolchain/arm64/cmake: Corrected the writing of arm64 cmake search library
Align the writing style of arm cmake, and each compiler defines its own find library function, otherwise use the default Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
This commit is contained in:
committed by
Xiang Xiao
parent
bc8ce393cb
commit
1bdbf0effd
@@ -169,3 +169,46 @@ if(NOT CONFIG_ARCH_USE_MMU)
|
||||
endif()
|
||||
|
||||
add_link_options(-no-pie)
|
||||
|
||||
# override nuttx_find_toolchain_lib
|
||||
|
||||
set(NUTTX_FIND_TOOLCHAIN_LIB_DEFINED true)
|
||||
|
||||
if(CONFIG_BUILTIN_TOOLCHAIN)
|
||||
function(nuttx_find_toolchain_lib)
|
||||
if(ARGN)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=${ARGN}
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_lib_path)
|
||||
nuttx_add_extra_library(${extra_lib_path})
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-libgcc-file-name
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE libgcc_path)
|
||||
get_filename_component(libgcc_name ${libgcc_path} NAME)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=${libgcc_name}
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE libgcc)
|
||||
nuttx_add_extra_library(${libgcc})
|
||||
endif()
|
||||
endfunction()
|
||||
else()
|
||||
function(nuttx_find_toolchain_lib)
|
||||
if(ARGN)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=${ARGN}
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_lib_path)
|
||||
endif()
|
||||
nuttx_add_extra_library(${extra_lib_path})
|
||||
endfunction()
|
||||
endif()
|
||||
|
||||
set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
|
||||
|
||||
@@ -218,3 +218,5 @@ if(CONFIG_ARCH_TOOLCHAIN_GNU AND NOT CONFIG_ARCH_TOOLCHAIN_CLANG)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
# the License.
|
||||
#
|
||||
# ##############################################################################
|
||||
|
||||
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
COMPILE_OPTIONS)
|
||||
|
||||
@@ -34,37 +35,16 @@ foreach(FLAG ${TOOLCHAIN_DIR_FLAGS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-libgcc-file-name
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_library)
|
||||
list(APPEND EXTRA_LIB ${extra_library})
|
||||
if(CONFIG_LIBM_TOOLCHAIN)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=libm.a
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_library)
|
||||
list(APPEND EXTRA_LIB ${extra_library})
|
||||
nuttx_find_toolchain_lib()
|
||||
|
||||
if(NOT CONFIG_LIBM)
|
||||
nuttx_find_toolchain_lib(libm.a)
|
||||
endif()
|
||||
|
||||
if(CONFIG_LIBSUPCXX_TOOLCHAIN)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=libsupc++.a
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_library)
|
||||
list(APPEND EXTRA_LIB ${extra_library})
|
||||
nuttx_find_toolchain_lib(libsupc++.a)
|
||||
endif()
|
||||
|
||||
if(CONFIG_COVERAGE_TOOLCHAIN)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
|
||||
--print-file-name=libgcov.a
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE extra_library)
|
||||
list(APPEND EXTRA_LIB ${extra_library})
|
||||
nuttx_find_toolchain_lib(libgcov.a)
|
||||
endif()
|
||||
|
||||
nuttx_add_extra_library(${EXTRA_LIB})
|
||||
|
||||
set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
|
||||
|
||||
Reference in New Issue
Block a user