@@ -203,11 +203,18 @@ if (NOT _BACKWARD_DEFINITIONS)
203203endif ()
204204
205205if (WIN32 )
206- list (APPEND _BACKWARD_LIBRARIES dbghelp psapi)
206+ list (APPEND _BACKWARD_LIBRARIES dbghelp psapi)
207207 if (MINGW)
208- set (MINGW_MSVCR_LIBRARY "msvcr90$<$<CONFIG:DEBUG>:d>" CACHE STRING "Mingw MSVC runtime import library" )
209- list (APPEND _BACKWARD_LIBRARIES ${MINGW_MSVCR_LIBRARY} )
210- endif ()
208+ include (CheckCXXCompilerFlag)
209+ check_cxx_compiler_flag(-gcodeview SUPPORT_WINDOWS_DEBUG_INFO)
210+ if (SUPPORT_WINDOWS_DEBUG_INFO)
211+ set (CMAKE_EXE_LINKER_FLAGS "-Wl,--pdb= " )
212+ add_compile_options (-gcodeview)
213+ else ()
214+ set (MINGW_MSVCR_LIBRARY "msvcr90$<$<CONFIG:DEBUG>:d>" CACHE STRING "Mingw MSVC runtime import library" )
215+ list (APPEND _BACKWARD_LIBRARIES ${MINGW_MSVCR_LIBRARY} )
216+ endif ()
217+ endif ()
211218endif ()
212219
213220set (BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR} " )
@@ -221,7 +228,7 @@ endif()
221228
222229include (FindPackageHandleStandardArgs)
223230find_package_handle_standard_args(Backward
224- REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
231+ REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
225232)
226233list (APPEND _BACKWARD_INCLUDE_DIRS ${BACKWARD_INCLUDE_DIR} )
227234
@@ -244,18 +251,18 @@ mark_as_advanced(BACKWARD_INCLUDE_DIRS BACKWARD_DEFINITIONS BACKWARD_LIBRARIES)
244251# Expand each definition in BACKWARD_DEFINITIONS to its own cmake var and export
245252# to outer scope
246253foreach (var ${BACKWARD_DEFINITIONS} )
247- string (REPLACE "=" ";" var_as_list ${var} )
248- list (GET var_as_list 0 var_name)
249- list (GET var_as_list 1 var_value)
250- set (${var_name} ${var_value} )
251- mark_as_advanced (${var_name} )
254+ string (REPLACE "=" ";" var_as_list ${var} )
255+ list (GET var_as_list 0 var_name)
256+ list (GET var_as_list 1 var_value)
257+ set (${var_name} ${var_value} )
258+ mark_as_advanced (${var_name} )
252259endforeach ()
253260
254261if (NOT TARGET Backward::Backward)
255262 add_library (Backward::Backward INTERFACE IMPORTED )
256263 set_target_properties (Backward::Backward PROPERTIES
257- INTERFACE_INCLUDE_DIRECTORIES "${BACKWARD_INCLUDE_DIRS} "
258- INTERFACE_COMPILE_DEFINITIONS "${BACKWARD_DEFINITIONS} "
264+ INTERFACE_INCLUDE_DIRECTORIES "${BACKWARD_INCLUDE_DIRS} "
265+ INTERFACE_COMPILE_DEFINITIONS "${BACKWARD_DEFINITIONS} "
259266 )
260267 if (BACKWARD_HAS_EXTERNAL_LIBRARIES)
261268 set_target_properties (Backward::Backward PROPERTIES
0 commit comments