----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://codereview.secondlife.com/r/147/#review350 -----------------------------------------------------------
A good change to avoid heisenbugs. indra/cmake/GoogleMock.cmake <http://codereview.secondlife.com/r/147/#comment252> Don't mix spaces and tabs. (Use spaces here, like in the rest of the file.) indra/cmake/GoogleMock.cmake <http://codereview.secondlife.com/r/147/#comment251> I'd put the -Wl,--no-as-needed down on gtest's line, so that the "wrapping" is more obvious. Or maybe even use some creative indentation like: # ... if (LINUX) set(GOOGLEMOCK_LIBRARIES gmock -Wl,--no-as-needed # VWR-24366: gmock is underlinked, it needs gtest. gtest -Wl,--as-needed) # continue to use "as-needed" for other libs elseif(WINDOWS) # ... - Boroondas On Feb. 9, 2011, 10:20 p.m., Merov Linden wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://codereview.secondlife.com/r/147/ > ----------------------------------------------------------- > > (Updated Feb. 9, 2011, 10:20 p.m.) > > > Review request for Viewer. > > > Summary > ------- > > From Aleric's patch: > > Setting CMAKE_EXE_LINKER_FLAGS to "" because the tests "need" that is pretty > hard measure. Not only is it not necessary to do so, it also changes how the > viewer is linked depending on a whether or not the tests are compiled and > that is not good. > > The reason that this was needed is that libgmock is underlinked (see > http://wiki.mandriva.com/en/Underlinking), which is not compatible with > -Wl,--as-needed that is being used on linux. libgmock.so.0 needs a symbol > that is defined in libgtest.so.o, but -lgtest was not passed to the linker > when creating libgmock.so.0: > > Underlinked (no libgtest.so.o): > $ objdump -p /usr/lib/libgmock.so.0 | grep NEEDED > NEEDED libstdc++.so.6 > NEEDED libm.so.6 > NEEDED libc.so.6 > NEEDED libgcc_s.so.1 > > The solution is to wrap between -Wl,--no-as-needed -lgtest -Wl,--as-needed > causing it to be added again. This is only needed on linux, since that the > only platform that we use -Wl,--as-needed on. Moreover, we can just set > GOOGLEMOCK_LIBRARIES to "gmock -Wl,--no-as-needed gtest -Wl,--as-needed" > since that is only passed to TARGET_LINK_LIBRARIES which only adds -l in > front of 'things' that don't start with '-', to allow you do pass special > flags like this. > > > This addresses bug STORM-981. > http://jira.secondlife.com/browse/STORM-981 > > > Diffs > ----- > > doc/contributions.txt 27dae7b01a81 > indra/cmake/GoogleMock.cmake 27dae7b01a81 > indra/cmake/LLAddBuildTest.cmake 27dae7b01a81 > > Diff: http://codereview.secondlife.com/r/147/diff > > > Testing > ------- > > > Thanks, > > Merov > >
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges