GIT: use rev-list --count for > 1.7.2 and simple count for older versions
[u/mrichter/AliRoot.git] / cmake / CMakelinuxx8664gcc.cmake
index 5bbea12..57708a7 100644 (file)
@@ -8,15 +8,17 @@
 #--------------------------------------------------------------------------------#
 
 
-cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
 
 #Retrieve Compiler Version
 
 
-execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion | cut -d. -f1 
+execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion
+                 COMMAND cut -d. -f1
                  OUTPUT_VARIABLE CCMAJORV
                  OUTPUT_STRIP_TRAILING_WHITESPACE) 
-execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion | cut -d. -f2
+execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion
+                 COMMAND cut -d. -f2
                  OUTPUT_VARIABLE CCMINORV
                  OUTPUT_STRIP_TRAILING_WHITESPACE)
 
@@ -27,7 +29,7 @@ set(OPT)
 # ------- Setting optimization flags for default configuration -------
 
 if((NOT CMAKE_BUILD_TYPE) OR (CMAKE_BUILD_TYPE STREQUAL "None"))
-    set(DEFAULT_CXX_FLAGS "-O -g")
+    set(DEFAULT_CXX_FLAGS "-g")
     set(OPT "${DEFAULT_CXX_FLAGS}")
     message("-- Setting compiler flags for default configuration: ${DEFAULT_CXX_FLAGS}")
 endif((NOT CMAKE_BUILD_TYPE) OR (CMAKE_BUILD_TYPE STREQUAL "None"))
@@ -48,7 +50,7 @@ set(CLIBCXXOPTS)
 set(CLIBCOPT)
 set(CLIBFOPT ${CLIBDEFS})
 
-set(CXXWARN "-Wall -Wno-long-long -W -Weffc++ -Wshadow -Woverloaded-virtual -ansi")
+set(CXXWARN "-Wall -Wno-long-long -W -Weffc++ -Wshadow -Woverloaded-virtual")
 
 if(CCMAJORV STREQUAL "2")
 
@@ -66,6 +68,10 @@ elseif(CCMAJORV STREQUAL "4")
   set(CXXFLAGS "${OPT} -fPIC -pipe -fmessage-length=0 -Dlinux")
   add_definitions(-Dlinux)
   set(CXXFLAGSNO "${NOOPT} -fPIC -pipe -fmessage-length=0")
+  if(CCMINORV STRGREATER 5) 
+    message("-- GCC version > 4.5 - mask default -Wl,--as-needed")
+    set(XTRA_LDFLAGS "-Wl,--no-as-needed")
+  endif() 
 
 else ()
 
@@ -100,7 +106,7 @@ if(${CMAKE_Fortran_COMPILER} MATCHES "g95")
 
 elseif(${CMAKE_Fortran_COMPILER} MATCHES "gfortran")
   
-  set(FFLAGS "-DFORTRAN_GFORTRAN ${FFLAGS}")
+  set(FFLAGS "-DFORTRAN_GFORTRAN ${FFLAGS} -fPIC")
   execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -print-file-name=libgfortran.so
                   OUTPUT_VARIABLE _shlib
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -117,8 +123,8 @@ else()
   
 endif(${CMAKE_Fortran_COMPILER} MATCHES "g95")
 
-set(LDFLAGS "${OPT}")
-set(SOFLAGS "${OPT} -shared -Wl")
+set(LDFLAGS "${OPT} ${XTRA_LDFLAGS} ")
+set(SOFLAGS "${OPT}  ${XTRA_LDFLAGS} -shared")
 set(ALLIB)