diff options
author | Savchenko Maksym <msavchenko@productengine.com> | 2014-09-24 03:36:00 +0300 |
---|---|---|
committer | Savchenko Maksym <msavchenko@productengine.com> | 2014-09-24 03:36:00 +0300 |
commit | 454a4a2905198b884947e9a3d37dba2e480480da (patch) | |
tree | 885bf5d16d3c95fe18b4f6765475aa5a0130167c /indra/cmake | |
parent | 90467f699fba557c6ab1bf42c677bead2adc5aef (diff) |
MAINT-4482 FIXED [viewer-lion] Mac build fails due to weirdo LLTextBase::normalizeUri() issue
Diffstat (limited to 'indra/cmake')
-rw-r--r-- | indra/cmake/FindURIPARSER.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/URIPARSER.cmake | 31 |
2 files changed, 23 insertions, 10 deletions
diff --git a/indra/cmake/FindURIPARSER.cmake b/indra/cmake/FindURIPARSER.cmake index 32457bcd60..8ab9f0f4ed 100644 --- a/indra/cmake/FindURIPARSER.cmake +++ b/indra/cmake/FindURIPARSER.cmake @@ -18,7 +18,7 @@ FIND_PATH(URIPARSER_INCLUDE_DIR uriparser/uri.h NO_SYSTEM_ENVIRONMENT_PATH ) -FIND_LIBRARY(URIPARSER_LIBRARY z) +FIND_LIBRARY(URIPARSER_LIBRARY uriparser) if (URIPARSER_LIBRARY AND URIPARSER_INCLUDE_DIR) SET(URIPARSER_INCLUDE_DIRS ${URIPARSER_INCLUDE_DIR}) diff --git a/indra/cmake/URIPARSER.cmake b/indra/cmake/URIPARSER.cmake index 477e142ce5..d726c2ffdf 100644 --- a/indra/cmake/URIPARSER.cmake +++ b/indra/cmake/URIPARSER.cmake @@ -5,18 +5,31 @@ set(URIPARSER_FIND_REQUIRED ON) include(Prebuilt) -if (STANDALONE) +if (USESYSTEMLIBS) include(FindURIPARSER) -else (STANDALONE) +else (USESYSTEMLIBS) use_prebuilt_binary(uriparser) if (WINDOWS) - set(URIPARSER_LIBRARIES + set(URIPARSER_LIBRARIES. debug uriparserd optimized uriparser) - else (WINDOWS) - set(URIPARSER_LIBRARIES z) + elseif (LINUX) + # + # When we have updated static libraries in competition with older + # shared libraries and we want the former to win, we need to do some + # extra work. The *_PRELOAD_ARCHIVES settings are invoked early + # and will pull in the entire archive to the binary giving it. + # priority in symbol resolution. Beware of cmake moving the + # achive load itself to another place on the link command line. If + # that happens, you can try something like -Wl,-luriparser here to hide + # the archive. Also be aware that the linker will not tolerate a + # second whole-archive load of the archive. See viewer's + # CMakeLists.txt for more information. + # + set(URIPARSER_PRELOAD_ARCHIVES -Wl,--whole-archive uriparser -Wl,--no-whole-archive) + set(URIPARSER_LIBRARIES uriparser) + elseif (DARWIN) + set(URIPARSER_LIBRARIES uriparser) endif (WINDOWS) - if (WINDOWS OR LINUX) - set(URIPARSER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/uriparser) - endif (WINDOWS OR LINUX) -endif (STANDALONE) + set(URIPARSER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/uriparser) +endif (USESYSTEMLIBS) |