diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-09-08 20:53:50 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-09-08 23:18:07 +0300 |
commit | 5af8f15a0579bc88ca4249324db8b1f19c52bbd5 (patch) | |
tree | b5f3d4a72c009b131e8d46af0ce9159188da17c0 /indra/cmake/ZLIBNG.cmake | |
parent | 6e200800eddc374419d6e0e42b9ef63813ddf70f (diff) |
SL-14541 Replace zlib with zlib-ng
Diffstat (limited to 'indra/cmake/ZLIBNG.cmake')
-rw-r--r-- | indra/cmake/ZLIBNG.cmake | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/indra/cmake/ZLIBNG.cmake b/indra/cmake/ZLIBNG.cmake new file mode 100644 index 0000000000..1f46a23d92 --- /dev/null +++ b/indra/cmake/ZLIBNG.cmake @@ -0,0 +1,35 @@ +# -*- cmake -*- + +set(ZLIBNG_FIND_QUIETLY ON) +set(ZLIBNG_FIND_REQUIRED ON) + +include(Prebuilt) + +if (USESYSTEMLIBS) + include(FindZLIBNG) +else (USESYSTEMLIBS) + use_prebuilt_binary(zlib-ng) + if (WINDOWS) + set(ZLIBNG_LIBRARIES + debug zlib + optimized zlib) + 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,-lz 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(ZLIBNG_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive) + set(ZLIBNG_LIBRARIES z) + elseif (DARWIN) + set(ZLIBNG_LIBRARIES z) + endif (WINDOWS) + set(ZLIBNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib-ng) +endif (USESYSTEMLIBS) |