X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=cmake%2FCMakelinuxx8664gcc.cmake;h=57708a77c3ec3aef3b476e834b5eaf7ddb96fbb5;hb=ecfa7bc76d6a484650e9834b8d4b5fa3f36a1bd1;hp=8cd3a030fff358a7214df0846915ea7772ef070d;hpb=ae388d3b3cbd47ef3aee1f670df5ce9b80c05f8b;p=u%2Fmrichter%2FAliRoot.git diff --git a/cmake/CMakelinuxx8664gcc.cmake b/cmake/CMakelinuxx8664gcc.cmake index 8cd3a030fff..57708a77c3e 100644 --- a/cmake/CMakelinuxx8664gcc.cmake +++ b/cmake/CMakelinuxx8664gcc.cmake @@ -8,21 +8,35 @@ #--------------------------------------------------------------------------------# -cmake_minimum_required(VERSION 2.8 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) # Global Optimization -set(OPT "-O -g") +set(OPT) + +# ------- Setting optimization flags for default configuration ------- + +if((NOT CMAKE_BUILD_TYPE) OR (CMAKE_BUILD_TYPE STREQUAL "None")) + 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")) + +# -------------------------------------------------------------------- + + set(NOOPT "-g") set(CXXOPT ${OPT}) @@ -36,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") @@ -54,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 () @@ -73,6 +91,7 @@ execute_process(COMMAND find /lib64 -name 'libNoVersion*.so' OUTPUT_STRIP_TRAILING_WHITESPACE) +#set(SYSLIBS "-ldl -lcrypt -L/usr/X11R6/lib -lX11 -lGL -lGLU ${LIBNOVER}") set(SYSLIBS "-ldl -lcrypt -L/usr/X11R6/lib -lX11 ${LIBNOVER}") if(${CMAKE_Fortran_COMPILER} MATCHES "g95") @@ -87,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) @@ -104,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)