blob: dfc85767fce9d0b8052b4f3dab0f3063f1f41dd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
include_guard(GLOBAL)
function(target_extract_debug_symbols TARGET)
add_custom_command(TARGET "${TARGET}"
POST_BUILD
COMMAND "${CMAKE_OBJCOPY}"
"--only-keep-debug"
"$<TARGET_FILE:${TARGET}>"
"$<TARGET_FILE_DIR:${TARGET}>/$<TARGET_FILE_BASE_NAME:${TARGET}>.sym"
BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${TARGET}.sym"
COMMENT "Extracting debug symbols from $<TARGET_FILE:${TARGET}> ..."
)
endfunction()
function(target_strip TARGET)
add_custom_command(TARGET "${TARGET}"
POST_BUILD
COMMAND "${CMAKE_STRIP}"
"$<TARGET_FILE:${TARGET}>"
COMMENT "Stripping $<TARGET_FILE:${TARGET}> ..."
)
endfunction()
function(target_disassemble TARGET)
add_custom_command(TARGET "${TARGET}"
POST_BUILD
COMMAND "${CMAKE_OBJDUMP}"
"--disassemble"
"--visualize-jumps"
"--demangle"
"$<TARGET_FILE:${TARGET}>"
">$<TARGET_FILE_DIR:${TARGET}>/$<TARGET_FILE_BASE_NAME:${TARGET}>.dis"
BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${TARGET}.dis"
COMMENT "Dumping disassembly for $<TARGET_FILE:${TARGET}> ..."
)
endfunction()
|