From 9b12522f37c3f8704e8f8ca8736689dbbf30ce8b Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 21:35:43 +0000 Subject: cmake: introduce ELF utility module --- cmake/Modules/ElfTransformations.cmake | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 cmake/Modules/ElfTransformations.cmake (limited to 'cmake') diff --git a/cmake/Modules/ElfTransformations.cmake b/cmake/Modules/ElfTransformations.cmake new file mode 100644 index 0000000..dfc8576 --- /dev/null +++ b/cmake/Modules/ElfTransformations.cmake @@ -0,0 +1,36 @@ +include_guard(GLOBAL) + +function(target_extract_debug_symbols TARGET) + add_custom_command(TARGET "${TARGET}" + POST_BUILD + COMMAND "${CMAKE_OBJCOPY}" + "--only-keep-debug" + "$" + "$/$.sym" + BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$/${TARGET}.sym" + COMMENT "Extracting debug symbols from $ ..." + ) +endfunction() + +function(target_strip TARGET) + add_custom_command(TARGET "${TARGET}" + POST_BUILD + COMMAND "${CMAKE_STRIP}" + "$" + COMMENT "Stripping $ ..." + ) +endfunction() + +function(target_disassemble TARGET) + add_custom_command(TARGET "${TARGET}" + POST_BUILD + COMMAND "${CMAKE_OBJDUMP}" + "--disassemble" + "--visualize-jumps" + "--demangle" + "$" + ">$/$.dis" + BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$/${TARGET}.dis" + COMMENT "Dumping disassembly for $ ..." + ) +endfunction() -- cgit v1.2.3