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()