Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Try to find real path relative to build directory for debug-prefix-map.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 29 Nov 2017 10:38:52 +0000 (11:38 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 29 Nov 2017 10:44:42 +0000 (11:44 +0100)
tools/cmake/GCCFlags.cmake

index 13db525..9f74d0f 100644 (file)
@@ -81,7 +81,15 @@ endif()
 
 # Do not leak the current directory into the binaries
 if(CMAKE_COMPILER_IS_GNUCC)
-  set(optCFLAGS "${optCFLAGS} -fdebug-prefix-map=${CMAKE_SOURCE_DIR}=.")
+  execute_process(COMMAND realpath --relative-to=${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}
+    RESULT_VARIABLE RESULT OUTPUT_VARIABLE RELATIVE_SOURCE_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(RESULT EQUAL 0)
+    message(STATUS "Relative source directory is \"${RELATIVE_SOURCE_DIR}\".")
+  else()
+    message(WARNING "Failed to find relative source directory. Using \".\".")
+    set(RELATIVE_SOURCE_DIR ".")
+  endif()
+  set(optCFLAGS "${optCFLAGS} -fdebug-prefix-map=${CMAKE_SOURCE_DIR}=${RELATIVE_SOURCE_DIR}")
 endif()
 
 # Configure LTO