File tree 3 files changed +26
-1
lines changed
3 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -1019,8 +1019,9 @@ if(macos_signposts_available)
1019
1019
endif ()
1020
1020
endif ()
1021
1021
1022
+ set (LLVM_SOURCE_PREFIX "" CACHE STRING "Use prefix for sources" )
1023
+
1022
1024
option (LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO "Use relative paths in debug info" OFF )
1023
- set (LLVM_SOURCE_PREFIX "" CACHE STRING "Use prefix for sources in debug info" )
1024
1025
1025
1026
if (LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO)
1026
1027
check_c_compiler_flag("-fdebug-prefix-map=foo=bar" SUPPORTS_FDEBUG_PREFIX_MAP)
@@ -1034,3 +1035,18 @@ if(LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO)
1034
1035
append_if(SUPPORTS_FDEBUG_PREFIX_MAP "-fdebug-prefix-map=${source_root} /=${LLVM_SOURCE_PREFIX} " CMAKE_C_FLAGS CMAKE_CXX_FLAGS )
1035
1036
add_flag_if_supported("-no-canonical-prefixes" NO_CANONICAL_PREFIXES)
1036
1037
endif ()
1038
+
1039
+ option (LLVM_USE_RELATIVE_PATHS_IN_FILES "Use relative paths in sources and debug info" OFF )
1040
+
1041
+ if (LLVM_USE_RELATIVE_PATHS_IN_FILES)
1042
+ check_c_compiler_flag("-ffile-prefix-map=foo=bar" SUPPORTS_FFILE_PREFIX_MAP)
1043
+ if (LLVM_ENABLE_PROJECTS_USED)
1044
+ get_filename_component (source_root "${LLVM_MAIN_SRC_DIR} /.." ABSOLUTE )
1045
+ else ()
1046
+ set (source_root "${LLVM_MAIN_SRC_DIR} " )
1047
+ endif ()
1048
+ file (RELATIVE_PATH relative_root "${source_root} " "${CMAKE_BINARY_DIR} " )
1049
+ append_if(SUPPORTS_FFILE_PREFIX_MAP "-ffile-prefix-map=${CMAKE_BINARY_DIR} =${relative_root} " CMAKE_C_FLAGS CMAKE_CXX_FLAGS )
1050
+ append_if(SUPPORTS_FFILE_PREFIX_MAP "-ffile-prefix-map=${source_root} /=${LLVM_SOURCE_PREFIX} " CMAKE_C_FLAGS CMAKE_CXX_FLAGS )
1051
+ add_flag_if_supported("-no-canonical-prefixes" NO_CANONICAL_PREFIXES)
1052
+ endif ()
Original file line number Diff line number Diff line change @@ -239,6 +239,7 @@ function(llvm_ExternalProject_Add name source_dir)
239
239
-DLLVM_HOST_TRIPLE=${LLVM_HOST_TRIPLE}
240
240
-DLLVM_HAVE_LINK_VERSION_SCRIPT=${LLVM_HAVE_LINK_VERSION_SCRIPT}
241
241
-DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=${LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO}
242
+ -DLLVM_USE_RELATIVE_PATHS_IN_FILES=${LLVM_USE_RELATIVE_PATHS_IN_FILES}
242
243
-DLLVM_SOURCE_PREFIX=${LLVM_SOURCE_PREFIX}
243
244
-DPACKAGE_VERSION=${PACKAGE_VERSION}
244
245
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
Original file line number Diff line number Diff line change @@ -631,6 +631,14 @@ LLVM-specific variables
631
631
If enabled, the Z3 constraint solver is activated for the Clang static analyzer.
632
632
A recent version of the z3 library needs to be available on the system.
633
633
634
+ **LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO **:BOOL
635
+ Rewrite absolute source paths in debug info to relative ones. The source prefix
636
+ can be adjusted via the LLVM_SOURCE_PREFIX variable.
637
+
638
+ **LLVM_USE_RELATIVE_PATHS_IN_FILES **:BOOL
639
+ Rewrite absolute source paths in sources and debug info to relative ones. The
640
+ source prefix can be adjusted via the LLVM_SOURCE_PREFIX variable.
641
+
634
642
CMake Caches
635
643
============
636
644
You can’t perform that action at this time.
0 commit comments