You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/01/06 12:21:59 UTC
(nuttx) 01/05: cmake: do not run objcopy for macOS
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit e0c4e292bfb0994a1dd5d398acb9b22631526f41
Author: YAMAMOTO Takashi <ya...@midokura.com>
AuthorDate: Thu Jan 4 17:13:50 2024 +0900
cmake: do not run objcopy for macOS
The mach-o support of objcopy is fragile at best and often results
in a broken output. It's better not to rely on it.
This matches what the non-cmake version does.
---
CMakeLists.txt | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80f03424ad..0364cc8bcf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -688,16 +688,28 @@ else()
list(APPEND nuttx_libs_paths $<TARGET_FILE:${lib}>)
endforeach()
- add_custom_command(
- OUTPUT nuttx.rel
- COMMAND
- ${CMAKE_C_COMPILER} ARGS -r $<$<BOOL:${CONFIG_SIM_M32}>:-m32>
- $<TARGET_OBJECTS:sim_head> $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--start-group>
- ${nuttx_libs_paths} ${nuttx_extra_libs}
- $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--end-group> -o nuttx.rel
- COMMAND ${CMAKE_OBJCOPY} --redefine-syms=nuttx-names.dat nuttx.rel
- DEPENDS ${nuttx_libs} ${nuttx_extra_libs} sim_head
- COMMAND_EXPAND_LISTS)
+ if(APPLE)
+ add_custom_command(
+ OUTPUT nuttx.rel
+ COMMAND
+ ${CMAKE_C_COMPILER} ARGS -r $<$<BOOL:${CONFIG_SIM_M32}>:-m32>
+ $<TARGET_OBJECTS:sim_head> $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--start-group>
+ ${nuttx_libs_paths} ${nuttx_extra_libs}
+ $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--end-group> -o nuttx.rel
+ DEPENDS ${nuttx_libs} ${nuttx_extra_libs} sim_head
+ COMMAND_EXPAND_LISTS)
+ else()
+ add_custom_command(
+ OUTPUT nuttx.rel
+ COMMAND
+ ${CMAKE_C_COMPILER} ARGS -r $<$<BOOL:${CONFIG_SIM_M32}>:-m32>
+ $<TARGET_OBJECTS:sim_head> $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--start-group>
+ ${nuttx_libs_paths} ${nuttx_extra_libs}
+ $<$<NOT:$<BOOL:${APPLE}>>:-Wl,--end-group> -o nuttx.rel
+ COMMAND ${CMAKE_OBJCOPY} --redefine-syms=nuttx-names.dat nuttx.rel
+ DEPENDS ${nuttx_libs} ${nuttx_extra_libs} sim_head
+ COMMAND_EXPAND_LISTS)
+ endif()
add_custom_target(nuttx-rel DEPENDS nuttx.rel
$<$<NOT:$<BOOL:${APPLE}>>:nuttx.ld>)