diff --git a/simd/CMakeLists.txt b/simd/CMakeLists.txt index e8d63eb4..a8821884 100755 --- a/simd/CMakeLists.txt +++ b/simd/CMakeLists.txt @@ -45,6 +45,7 @@ if(CMAKE_ASM_NASM_OBJECT_FORMAT MATCHES "macho*") set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -DMACHO") elseif(CMAKE_ASM_NASM_OBJECT_FORMAT MATCHES "elf*") set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -DELF") + set(CMAKE_ASM_NASM_DEBUG_FORMAT "dwarf2") endif() if(CPU_TYPE STREQUAL "x86_64") if(WIN32 OR CYGWIN) @@ -66,6 +67,20 @@ if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT) return() endif() +get_filename_component(CMAKE_ASM_NASM_COMPILER_TYPE + "${CMAKE_ASM_NASM_COMPILER}" NAME_WE) +if(CMAKE_ASM_NASM_COMPILER_TYPE MATCHES "yasm") + foreach(var CMAKE_ASM_NASM_FLAGS_DEBUG CMAKE_ASM_NASM_FLAGS_RELWITHDEBINFO) + if(${var} STREQUAL "-g") + if(CMAKE_ASM_NASM_DEBUG_FORMAT) + set_property(CACHE ${var} PROPERTY VALUE "-g ${CMAKE_ASM_NASM_DEBUG_FORMAT}") + else() + set_property(CACHE ${var} PROPERTY VALUE "") + endif() + endif() + endforeach() +endif() + if(NOT WIN32 AND (CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED)) set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -DPIC") endif()