diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index bf1b0be414c9c9c4a63757b36f1c0065ca481978..1e7562de55f588de2728570ae3778469f15b064d 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -114,6 +114,7 @@ endif (WINDOWS) if (LINUX) + option(CONSERVE_MEMORY "Optimize for memory usage during link stage for memory-starved systems" OFF) set(CMAKE_SKIP_RPATH TRUE) add_definitions( -DLL_LINUX=1 @@ -177,10 +178,10 @@ if (LINUX) set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}") endif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - if (NOT USESYSTEMLIBS AND CMAKE_SIZEOF_VOID_P EQUAL 4) + if (NOT USESYSTEMLIBS AND CMAKE_SIZEOF_VOID_P EQUAL 4 OR CONSERVE_MEMORY) # linking can be very memory-hungry, especially the final viewer link set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") - endif (NOT USESYSTEMLIBS AND CMAKE_SIZEOF_VOID_P EQUAL 4) + endif (NOT USESYSTEMLIBS AND CMAKE_SIZEOF_VOID_P EQUAL 4 OR CONSERVE_MEMORY) endif (LINUX)