[CMake] Interference between siblings
William A. Hoffman
billlist at nycap.rr.com
Fri Oct 8 16:26:00 EDT 2004
OK, so they are linking different libraries.
The ...../src) has this:
-ldl -lpthread -lvtkRendering -lXt -lvtkDICOMParser -lvtkexpat -lm -lGLU
And ccmake ...../src/apps/scivis does not.
In the ..../src version cmake may have more knowledge of what libraries link
to each other. It may have incorrect knowledge. CMake remembers library
depend information in the cache.
So:
TARGET_LINK_LIBRARIES(A B C)
....
TARGET_LINK_LIBRARIES(D A) // this will cause D to link to A B and C
because cmake knows that A links to B and C.
There are ways to export this depend information from a project.
However, in this case it sounds like there is too much depend information.
So there may be a bad TARGET_LINK_LIBRARIES command or LINK_LIBRARIES command
in the project somewhere.
-Bill
At 04:10 PM 10/8/2004, Weiguang Guan wrote:
>I was not hiding anything, just thought it might be boring for CMake users
>to read the lengthy Makefiles generated from CMakeLists.txt. Below I just
>list the linking part of Makefiles generated from different source roots
>with verbose turned ON.
>
>One is (ccmake ...../src)
>c++ -Wno-deprecated -fPIC AppWindow.o scivis.o moc_AppWindow.o
>-o /1/home/guanw/visualization/software/build/apps/bin/scivis -rdynamic
>-L/1/home/guanw/visualization/software/build/apps/InsightApplications-1.8.0/lib
>-L/1/home/guanw/visualization/software/install/lib
>-L/1/home/guanw/visualization/software/install/lib/vtk
>-L/1/home/guanw/visualization/software/install/lib/InsightToolkit
>-L/usr/lib/qt3/lib -L/usr/X11R6/lib -lvtkqt -lvtkHDF -lmfhdf -ldf -ljpeg
>-lz -lsz -lvtkRendering -lvtkPatented -lvtkHybrid -lvtkIO -lvtkImaging
>-lvtkGraphics -lvtkFiltering -lvtkCommon -lvtkftgl -lvtkjpeg -lvtkpng
>-lvtkzlib -lvtktiff -lqassistantclient -lqt-mt -lSM -lICE -lX11 -lXext
>-ldl -lpthread -lvtkRendering -lXt -lvtkDICOMParser -lvtkexpat -lm -lGLU
>-lGL -lvtkfreetype -lvtkzlib -lvtkjpeg
>-Wl,-rpath,/1/home/guanw/visualization/software/build/apps/InsightApplications-1.8.0/lib:/1/home/guanw/visualization/software/install/lib:/1/home/guanw/visualization/software/install/lib/vtk:/1/home/guanw/visualization/software/install/lib/InsightToolkit:/usr/lib/qt3/lib:/usr/X11R6/lib
>
>and the other (ccmake ...../src/apps/scivis)
>c++ -Wno-deprecated -fPIC AppWindow.o scivis.o moc_AppWindow.o
>-o /1/home/guanw/visualization/software/build/apps/scivis/scivis -rdynamic
>-L/1/home/guanw/visualization/software/install/lib
>-L/1/home/guanw/visualization/software/install/lib/vtk
>-L/1/home/guanw/visualization/software/install/lib/InsightToolkit
>-L/usr/lib/qt3/lib -L/usr/X11R6/lib -lvtkqt -lvtkHDF -lmfhdf -ldf -ljpeg
>-lz -lsz -lvtkRendering -lvtkPatented -lvtkHybrid -lvtkIO -lvtkImaging
>-lvtkGraphics -lvtkFiltering -lvtkCommon -lvtkftgl -lvtkjpeg -lvtkpng
>-lvtkzlib -lvtktiff -lqassistantclient -lqt-mt -lSM -lICE -lX11 -lXext
>-ldl -lpthread
>-Wl,-rpath,/1/home/guanw/visualization/software/install/lib:/1/home/guanw/visualization/software/install/lib/vtk:/1/home/guanw/visualization/software/install/lib/InsightToolkit:/usr/lib/qt3/lib:/usr/X11R6/lib
>
>Linking with libvtkfreetype causes Qt app have problem with fonts. And
>with -Wl, -rpath option the application has an error message: Xlib:
>extension "XFree86-DRI" missing on display ":0.0", don't know why.
>
>
>Weiguang
>
>--
>========================================================
>Weiguang Guan, Research Engineer
>RHPCS, McMaster University
>========================================================
>On Fri, 8 Oct 2004, William A. Hoffman wrote:
>
>> No I do not, exactly what problem are you having?
>> You still have not said how the makefiles are different?
>>
>> -Bill
>>
>>
>> At 03:37 PM 10/8/2004, Weiguang Guan wrote:
>> >Do you think it is a good idea to let each directory or proejct have its
>> >own CACHE?
>> >
>> >Weiguang
>> >
>> >On Fri, 8 Oct 2004, William A. Hoffman wrote:
>> >
>> >> Different how? CACHE variables are common to all directories and
>> >> could affect a Makefile.
>> >>
>> >> -Bill
>> >>
>> >> >Take the Makefile for app1 as an example. It is different from the
>> >> >Makefile generated by using ccmake ....../src/apps/app1.
>> >> >
>> >> >Weiguang
>> >> >
>> >> >--
>> >> >========================================================
>> >> >Weiguang Guan, Research Engineer
>> >> >RHPCS, McMaster University
>> >> >========================================================
>> >> >
>> >> >_______________________________________________
>> >> >CMake mailing list
>> >> >CMake at www.cmake.org
>> >> >http://www.cmake.org/mailman/listinfo/cmake
>> >>
>>
>
>_______________________________________________
>CMake mailing list
>CMake at www.cmake.org
>http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list