@@ -54,6 +54,7 @@ option(USE_RECOMMENDED_CXX_STANDARD "Use recommended C++ standard" ON)
54
54
mark_as_advanced (USE_RECOMMENDED_CXX_STANDARD)
55
55
56
56
option (USE_CPP23 "Use C++23 standard where possible" OFF )
57
+ option (USE_PATH_STRIP "Strip source paths in debug symbols" OFF )
57
58
58
59
# Required for <stacktrace> on Clang/GCC
59
60
if (USE_CPP23)
@@ -217,23 +218,25 @@ macro(try_exe_linker_flag PROP FLAG)
217
218
endif ()
218
219
endmacro ()
219
220
220
- # Stripping of absolute paths for __FILE__ / source_location
221
- # Also do without src/ to get libs/
222
- set (FILENAME_STRIP_DIRS "${CMAKE_CURRENT_SOURCE_DIR} /src" "${CMAKE_CURRENT_SOURCE_DIR} " )
223
- if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL DAEMON_DIR)
224
- set (FILENAME_STRIP_DIRS ${FILENAME_STRIP_DIRS} "${DAEMON_DIR} /src" "${DAEMON_DIR} " )
221
+ if (USE_PATH_STRIP)
222
+ # Stripping of absolute paths for __FILE__ / source_location
223
+ # Also do without src/ to get libs/
224
+ set (FILENAME_STRIP_DIRS "${CMAKE_CURRENT_SOURCE_DIR} /src" "${CMAKE_CURRENT_SOURCE_DIR} " )
225
+ if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL DAEMON_DIR)
226
+ set (FILENAME_STRIP_DIRS ${FILENAME_STRIP_DIRS} "${DAEMON_DIR} /src" "${DAEMON_DIR} " )
227
+ endif ()
228
+ foreach (strip_dir ${FILENAME_STRIP_DIRS} )
229
+ if (MSVC )
230
+ string (REPLACE "/" "\\ " backslashed_dir ${strip_dir} )
231
+ # set_c_cxx_flag can't be used because macros barf if the input contains backslashes
232
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/19281
233
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /d1trimfile:${backslashed_dir} \\ " )
234
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /d1trimfile:${backslashed_dir} \\ " )
235
+ else ()
236
+ try_c_cxx_flag(PREFIX_MAP "-ffile-prefix-map=${strip_dir} /=" )
237
+ endif ()
238
+ endforeach ()
225
239
endif ()
226
- foreach (strip_dir ${FILENAME_STRIP_DIRS} )
227
- if (MSVC )
228
- string (REPLACE "/" "\\ " backslashed_dir ${strip_dir} )
229
- # set_c_cxx_flag can't be used because macros barf if the input contains backslashes
230
- # https://gitlab.kitware.com/cmake/cmake/-/issues/19281
231
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /d1trimfile:${backslashed_dir} \\ " )
232
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /d1trimfile:${backslashed_dir} \\ " )
233
- else ()
234
- try_c_cxx_flag(PREFIX_MAP "-ffile-prefix-map=${strip_dir} /=" )
235
- endif ()
236
- endforeach ()
237
240
238
241
if (BE_VERBOSE)
239
242
set (WARNMODE "no-error=" )
0 commit comments