diff options
author | Oz Linden <oz@lindenlab.com> | 2014-07-21 14:41:29 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2014-07-21 14:41:29 -0400 |
commit | 83d5f20b1cbd29a86090f40b1dcc9236f15ca249 (patch) | |
tree | 4b709f66c7d6ec9195327c4d0ae9a97b10fc0add /indra/cmake/PNG.cmake | |
parent | 532433674c9553636af9ea8d433b9da6d6fae587 (diff) | |
parent | 29bea5a6b94458e23559bdbeaae5a593100533b6 (diff) |
merge changes for 3.7.12-release
Diffstat (limited to 'indra/cmake/PNG.cmake')
-rwxr-xr-x | indra/cmake/PNG.cmake | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 173d59391e..248a875a19 100755 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -9,13 +9,26 @@ if (USESYSTEMLIBS) else (USESYSTEMLIBS) use_prebuilt_binary(libpng) if (WINDOWS) - set(PNG_LIBRARIES libpng15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + set(PNG_LIBRARIES libpng16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) elseif(DARWIN) - set(PNG_LIBRARIES png15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + set(PNG_LIBRARIES png16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) else() - set(PNG_LIBRARIES png15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + # + # 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,-lpng16 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(PNG_PRELOAD_ARCHIVES -Wl,--whole-archive png16 -Wl,--no-whole-archive) + set(PNG_LIBRARIES png16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) endif() endif (USESYSTEMLIBS) |