mirror of
https://github.com/espressif/openthread.git
synced 2026-09-09 02:30:11 +00:00
[build] add cmake option for generating .map files (#9006)
This adds the CMake option `OT_LINKER_MAP` which will generate `.map` files for any executables built when the option is `ON`.
This commit is contained in:
@@ -34,6 +34,8 @@ option(OT_FTD "enable FTD" ON)
|
||||
option(OT_MTD "enable MTD" ON)
|
||||
option(OT_RCP "enable RCP" ON)
|
||||
|
||||
option(OT_LINKER_MAP "generate .map files for example apps" ON)
|
||||
|
||||
message(STATUS OT_APP_CLI=${OT_APP_CLI})
|
||||
message(STATUS OT_APP_NCP=${OT_APP_NCP})
|
||||
message(STATUS OT_APP_RCP=${OT_APP_RCP})
|
||||
|
||||
@@ -48,5 +48,13 @@ target_link_libraries(ot-cli-ftd PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-cli-ftd PRIVATE -Wl,-map,ot-cli-ftd.map)
|
||||
else()
|
||||
target_link_libraries(ot-cli-ftd PRIVATE -Wl,-Map=ot-cli-ftd.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-cli-ftd
|
||||
DESTINATION bin)
|
||||
|
||||
@@ -48,5 +48,13 @@ target_link_libraries(ot-cli-mtd PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-cli-mtd PRIVATE -Wl,-map,ot-cli-mtd.map)
|
||||
else()
|
||||
target_link_libraries(ot-cli-mtd PRIVATE -Wl,-Map=ot-cli-mtd.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-cli-mtd
|
||||
DESTINATION bin)
|
||||
|
||||
@@ -52,6 +52,14 @@ target_link_libraries(ot-cli-radio PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-cli-radio PRIVATE -Wl,-map,ot-cli-radio.map)
|
||||
else()
|
||||
target_link_libraries(ot-cli-radio PRIVATE -Wl,-Map=ot-cli-radio.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-cli-radio
|
||||
DESTINATION bin
|
||||
)
|
||||
|
||||
@@ -48,4 +48,12 @@ target_link_libraries(ot-ncp-ftd PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-ncp-ftd PRIVATE -Wl,-map,ot-ncp-ftd.map)
|
||||
else()
|
||||
target_link_libraries(ot-ncp-ftd PRIVATE -Wl,-Map=ot-ncp-ftd.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-ncp-ftd DESTINATION bin)
|
||||
|
||||
@@ -48,4 +48,12 @@ target_link_libraries(ot-ncp-mtd PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-ncp-mtd PRIVATE -Wl,-map,ot-ncp-mtd.map)
|
||||
else()
|
||||
target_link_libraries(ot-ncp-mtd PRIVATE -Wl,-Map=ot-ncp-mtd.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-ncp-mtd DESTINATION bin)
|
||||
|
||||
@@ -47,4 +47,12 @@ target_link_libraries(ot-rcp PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-rcp PRIVATE -Wl,-map,ot-rcp.map)
|
||||
else()
|
||||
target_link_libraries(ot-rcp PRIVATE -Wl,-Map=ot-rcp.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-rcp DESTINATION bin)
|
||||
|
||||
+8
-1
@@ -43,7 +43,7 @@ target_compile_options(ot-cli PRIVATE
|
||||
${OT_CFLAGS}
|
||||
)
|
||||
|
||||
target_link_libraries(ot-cli
|
||||
target_link_libraries(ot-cli PRIVATE
|
||||
openthread-cli-ftd
|
||||
openthread-posix
|
||||
openthread-ftd
|
||||
@@ -57,6 +57,13 @@ target_link_libraries(ot-cli
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-cli PRIVATE -Wl,-map,ot-cli.map)
|
||||
else()
|
||||
target_link_libraries(ot-cli PRIVATE -Wl,-Map=ot-cli.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ot-cli DESTINATION bin)
|
||||
|
||||
|
||||
@@ -49,6 +49,14 @@ target_link_libraries(ot-daemon PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-daemon PRIVATE -Wl,-map,ot-daemon.map)
|
||||
else()
|
||||
target_link_libraries(ot-daemon PRIVATE -Wl,-Map=ot-daemon.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_executable(ot-ctl
|
||||
client.cpp
|
||||
)
|
||||
@@ -68,6 +76,14 @@ target_link_libraries(ot-ctl PRIVATE
|
||||
ot-config
|
||||
)
|
||||
|
||||
if(OT_LINKER_MAP)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
|
||||
target_link_libraries(ot-ctl PRIVATE -Wl,-map,ot-ctl.map)
|
||||
else()
|
||||
target_link_libraries(ot-ctl PRIVATE -Wl,-Map=ot-ctl.map)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_include_directories(ot-ctl PRIVATE ${COMMON_INCLUDES})
|
||||
|
||||
install(TARGETS ot-daemon
|
||||
|
||||
Reference in New Issue
Block a user