Skip to content

Commit a6629cf

Browse files
authored
Merge pull request #301 from mariuszmaximus/master
Fix for mingw, if support "-gcodeview" add -gcodeview
2 parents 2395cfa + af4436f commit a6629cf

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

BackwardConfig.cmake

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,18 @@ if (NOT _BACKWARD_DEFINITIONS)
203203
endif()
204204

205205
if(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()
211218
endif()
212219

213220
set(BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}")
@@ -221,7 +228,7 @@ endif()
221228

222229
include(FindPackageHandleStandardArgs)
223230
find_package_handle_standard_args(Backward
224-
REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
231+
REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
225232
)
226233
list(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
246253
foreach(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})
252259
endforeach()
253260

254261
if (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

Comments
 (0)