[CMake] Makefile to CMakeLists.txt (GTEST)
Kevyn-Alexandre Paré
kapare at rogue-research.com
Tue Dec 7 12:17:41 EST 2010
Thx for replying,
But it didn't change by switching it.
Regards,
Kevyn-Alexandre Paré
On Wed, 2010-12-01 at 22:14 +0000, Fraser Hutchison wrote:
> Hi Kevyn-Alexandre,
>
> I think moving the "-lpthread" to after "${GTEST_LIB_PATH}gtest.a
> ${GTEST_LIB_PATH}gtest_main.a" should help.
>
> Cheers,
>
> Fraser.
>
>
>
> On 01/12/2010 3:59 PM, Kevyn-Alexandre Paré wrote:
> > Philip,
> >
> > Thx for the reply. Neither of these solutions change a thing.
> >
> > I try to play with ADD_CUSTOM_TARGET but same error...
> >
> > ADD_CUSTOM_TARGET(RRThread.o ALL COMMAND ${CMAKE_C_COMPILER} -I
> > ${MICRONTRACKER_COMMON_PATH} -I${GTEST_HEADER_PATH} -lpthread -c
> > ${MICRONTRACKER_COMMON_PATH}RRThread.c
> > ${UNIT_TEST_PATH}common/UT_RRThread.cc)
> >
> > ADD_CUSTOM_TARGET(UT_RRThread ALL COMMAND ${CMAKE_CXX_COMPILER} -I
> > ${MICRONTRACKER_COMMON_PATH} -I${GTEST_HEADER_PATH} -lpthread RRThread.o
> > UT_RRThread.o ${GTEST_LIB_PATH}gtest.a ${GTEST_LIB_PATH}gtest_main.a -o
> > UT_RRThread)
> >
> > Result:
> > UT_RRThread.o: In function `thread_proc(void*)':
> > UT_RRThread.cc:(.text+0x28): undefined reference to `exitThread()'
> > ...
> >
> > I pretty sure that I'm missing little detail. How can I implicitly add
> > dependency to the object during the linking?
> >
> > Regards
> >
> > --
> > Kevyn-Alexandre Paré
> >
> >
> > On Mon, 2010-11-29 at 18:17 -0500, Philip Lowman wrote:
> >> Try adding the "gtest.a" library as well. Also, order does matter
> >> when you are linking static libraries so you might need to play with
> >> the ordering.
> >>
> >>
> >> Also, when you get some time, have a look at FindGTest.cmake. It may
> >> help you simplify adding your tests.
> >>
> >> On Mon, Nov 29, 2010 at 5:55 PM, Kevyn-Alexandre Paré
> >> <kapare at rogue-research.com> wrote:
> >> Hi,
> >>
> >> /// -> What I trying to do is to compile my unit test with
> >> google test
> >> with cmake from a working Makefile.
> >>
> >> /// -> Here the Makefile::::
> >>
> >> RRThread.o : $(USER_DIR)/RRThread.c $(USER_DIR)/RRThread.h
> >> $(GTEST_HEADERS)
> >> $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/RRThread.c
> >>
> >> UT_RRThread.o : $(UNITTEST_DIR)/UT_RRThread.cc \
> >> $(USER_DIR)/RRThread.h $(GTEST_HEADERS)#
> >> $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c
> >> $(UNITTEST_DIR)/UT_RRThread.cc
> >>
> >> UT_RRThread : RRThread.o UT_RRThread.o gtest_main.a
> >> $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@
> >>
> >>
> >> /// -> Here how I thought of doing it with CMakeLists.txt:::
> >>
> >> INCLUDE_DIRECTORIES(${GTEST_HEADER} ${USER_DIR})
> >>
> >> ADD_EXECUTABLE(UT ${USER_DIR}RRThread.c
> >> ${UNIT_TEST_PATH}UT_RRThread.cc)
> >>
> >> TARGET_LINK_LIBRARIES(UT pthread
> >> ${GTEST_LIB_PATH}gtest_main.a)
> >>
> >> /// -> My result:
> >>
> >> Linking CXX executable UT
> >> /usr/bin/cmake -E cmake_link_script CMakeFiles/UT.dir/link.txt
> >> --verbose=1
> >> /usr/bin/c++ CMakeFiles/UT.dir/common/RRThread.c.o
> >> CMakeFiles/UT.dir/UnitTests/common/UT_RRThread.cc.o -o UT
> >> -rdynamic
> >> -lpthread /home/andromeda/rogue-research/3rdParty/gtest/trunk/Release/lib/gtest_main.a
> >> CMakeFiles/UT.dir/UnitTests/common/UT_RRThread.cc.o: In
> >> function
> >> `thread_proc(void*)':
> >> UT_RRThread.cc:(.text+0x28): undefined reference to
> >> `exitThread()'
> >>
> >>
> >> /// -> My question and my problem is:
> >> Since I'm including the USER_DIR with INCLUDE_DIRECTORIES why
> >> is it
> >> complaining about not finding reference that is in that header
> >> file?
> >>
> >>
> >> Best Regards,
> >>
> >> --
> >> Kevyn-Alexandre Paré
> >>
> >> _______________________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Please keep messages on-topic and check the CMake FAQ at:
> >> http://www.cmake.org/Wiki/CMake_FAQ
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.cmake.org/mailman/listinfo/cmake
> >>
> >>
> >>
> >> --
> >> Philip Lowman
> >>
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list