X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=cmake%2FCMakelinuxx8664gcc.cmake;h=57708a77c3ec3aef3b476e834b5eaf7ddb96fbb5;hb=ecfa7bc76d6a484650e9834b8d4b5fa3f36a1bd1;hp=700f0014a04cd105f0d11415418147787f1d5454;hpb=86ec2a130d08fb2ec64f2e30d777fbf6821913e0;p=u%2Fmrichter%2FAliRoot.git diff --git a/cmake/CMakelinuxx8664gcc.cmake b/cmake/CMakelinuxx8664gcc.cmake index 700f0014a04..57708a77c3e 100644 --- a/cmake/CMakelinuxx8664gcc.cmake +++ b/cmake/CMakelinuxx8664gcc.cmake @@ -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") +set(LDFLAGS "${OPT} ${XTRA_LDFLAGS} ") +set(SOFLAGS "${OPT} ${XTRA_LDFLAGS} -shared") set(ALLIB)