diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 6855c68955ca776db46d0e87a4c37838a83f5712..5000c6f591c4a7124ee61454081db4f4239af407 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -192,18 +192,13 @@ endif (WINDOWS) if (LINUX) set(CMAKE_SKIP_RPATH TRUE) - add_definitions(-D_FORTIFY_SOURCE=2) - - set(CMAKE_CXX_FLAGS "-Wno-deprecated -Wno-unused-but-set-variable -Wno-unused-variable ${CMAKE_CXX_FLAGS}") - - # gcc 4.3 and above don't like the LL boost and also - # cause warnings due to our use of deprecated headers - add_definitions(-Wno-parentheses) - add_definitions( + -DLL_LINUX=1 -D_REENTRANT + -DAPPID=secondlife ) add_compile_options( + -fvisibility=hidden -fexceptions -fno-math-errno -fno-strict-aliasing @@ -216,24 +211,14 @@ if (LINUX) # force this platform to accept TOS via external browser add_definitions(-DEXTERNAL_TOS) - add_definitions(-DAPPID=secondlife) - add_compile_options(-fvisibility=hidden) # don't catch SIGCHLD in our base application class for the viewer - some of # our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The # viewer doesn't need to catch SIGCHLD anyway. add_definitions(-DLL_IGNORE_SIGCHLD) - if (ADDRESS_SIZE EQUAL 32) - add_compile_options(-march=pentium4) - endif (ADDRESS_SIZE EQUAL 32) - #add_compile_options(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2 - if (NOT USESYSTEMLIBS) - # this stops us requiring a really recent glibc at runtime - add_compile_options(-fno-stack-protector) - # linking can be very memory-hungry, especially the final viewer link - set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") - endif (NOT USESYSTEMLIBS) set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_RELEASE "-O3 -ffast-math -fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CMAKE_CXX_FLAGS_RELEASE}") + set(CMAKE_CXX_LINK_FLAGS "-Wl,--as-needed ${CMAKE_CXX_LINK_FLAGS}") endif (LINUX) @@ -269,7 +254,7 @@ if (LINUX OR DARWIN) endif (CMAKE_CXX_COMPILER MATCHES ".*clang") if (CMAKE_COMPILER_IS_GNUCXX) - set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") + set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs -Wno-unused-function -Wno-misleading-indentation") elseif (CMAKE_COMPILER_IS_CLANGXX) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") endif() @@ -287,6 +272,7 @@ if (LINUX OR DARWIN) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m${ADDRESS_SIZE}") endif (LINUX OR DARWIN) +add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS) if (USESYSTEMLIBS) add_definitions(-DLL_USESYSTEMLIBS=1)