Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: allow compile optimizations in src/kernel/lmm/.
[simgrid.git] / tools / cmake / GCCFlags.cmake
index 94aaffd..f093b3b 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
@@ -107,20 +115,20 @@ if(enable_lto) # User wants LTO. Try if we can do that
     endif()
   endif()
   if(enable_lto)
-    message("-- LTO seems usable.")
+    message(STATUS "LTO seems usable.")
   else()
     if(NOT enable_compile_optimizations)
-      message("-- LTO disabled: Compile-time optimizations turned off.")
+      message(STATUS "LTO disabled: Compile-time optimizations turned off.")
     else() 
       if(enable_model-checking)
-        message("-- LTO disabled when compiling with model-checking.")
+        message(STATUS "LTO disabled when compiling with model-checking.")
       else()
-        message("-- LTO does not seem usable -- try updating your build chain.")
+        message(STATUS "LTO does not seem usable -- try updating your build chain.")
       endif() 
     endif()
   endif()
 else()
-  message("-- LTO disabled on the command line.")
+  message(STATUS "LTO disabled on the command line.")
 endif()
 if(enable_lto) # User wants LTO, and it seems usable. Go for it
   set(optCFLAGS "${optCFLAGS} -flto ")
@@ -141,6 +149,7 @@ if(enable_model-checking AND enable_compile_optimizations)
   set(optCFLAGS "-O0 ")
   # But you can still optimize this:
   foreach(s
+      src/kernel/lmm/fair_bottleneck.cpp src/kernel/lmm/lagrange.cpp src/kernel/lmm/maxmin.cpp
       src/xbt/mmalloc/mm.c
       src/xbt/log.c src/xbt/xbt_log_appender_file.c
       src/xbt/xbt_log_layout_format.c src/xbt/xbt_log_layout_simple.c