[CMake] Why the target is named to "liblib" instead to "lib"? (Linux)

Brandon J. Van Every bvanevery at gmail.com
Sat Mar 31 09:41:36 EST 2007


Manfred Rebentisch wrote:
> Hello,
> I am new to this list, so I beg your pardon, if the question is a recurrence.
>
> I use cmake version 2.4-patch 3 on Suse 10.1 .
>
> I want to generate a library with the name "libstd3000c.so". So I define:
>
> ==== CMakeLists.txt BEGIN
> project(Std3000C)
> set(USEAPR 1)
> set(TARGETPART std3000c)
> set(SOURCES  cparray.c cpmap.c         cptplbuf.c          cpavl.c )
> # and much more sources...
>   

I can only conclude that you have something else going on in the "and 
much more sources" section.  You will either need to create a short, 
isolated reproducer of the problem, or else just pore over your code 
until you figure out where you've named something "libstd300c".

Cheers,
Brandon Van Every

> ADD_LIBRARY(${TARGETPART} SHARED ${SOURCES})
> TARGET_LINK_LIBRARIES(${TARGETPART} expat )
> if(USEAPR)
>     ADD_DEFINITIONS(-DUSE_APR )
>     FIND_LIBRARY(APRUTIL_LIB NAMES aprutil-1 aprutil-0 )
>     FIND_LIBRARY(APR_LIB NAMES apr-1 apr-0 )
>     FIND_PATH(APR_INCL NAMES apr.h apr_lib.h
>             PATH_SUFFIXES apache2 apr-0 apr-1 apr-1.0 )
>     TARGET_LINK_LIBRARIES(${TARGETPART}  ${APR_LIB} ${APRUTIL_LIB})
>     INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${APR_INCL} )
> endif (USEAPR)
> ==== CMakeLists.txt END
> The orignal file contains more lines, but this is the important.
>
> After "cmake ." and make there is a file named "liblibstd3000c.so". 
>
> In the file "CMakeFiles/libstd3000c.dir/build.make I found the following:
>
> [...]
> "CMakeFiles/libstd3000c.dir/cpunicode.o" \
> "CMakeFiles/libstd3000c.dir/cpstack.o" \
> "CMakeFiles/libstd3000c.dir/cpgrafix.o"
>
> # External object files for target libstd3000c
> libstd3000c_EXTERNAL_OBJECTS =
>
> liblibstd3000c.so: CMakeFiles/libstd3000c.dir/cparray.o
> liblibstd3000c.so: CMakeFiles/libstd3000c.dir/cpmap.o
> liblibstd3000c.so: CMakeFiles/libstd3000c.dir/cptplbuf.o
> [...]
>
> In link.txt is:
> /usr/local/bin/gcc  -fPIC    -shared -Wl,-soname,liblibstd3000c.so -o 
> liblibstd3000c.so "CMakeFiles/libstd3000c.dir/cparray.o" "CMakeFiles/libstd3000c.dir/cpmap.o" "CMakeFiles/libstd3000c.dir/cptplbuf.o" "CMakeFiles/libstd3000c.dir/cpavl.o" "CMakeFiles/libstd3000c.dir/cpdaemon.o" "CMakeFiles/libstd3000c.dir/cpfileutils.o" "CMakeFiles/libstd3000c.dir/cpgen.o" "CMakeFiles/libstd3000c.dir/cpiobuffer.o" "CMakeFiles/libstd3000c.dir/cpknv.o" "CMakeFiles/libstd3000c.dir/cplist.o" "CMakeFiles/libstd3000c.dir/cplocking.o" "CMakeFiles/libstd3000c.dir/cplog.o" "CMakeFiles/libstd3000c.dir/cpdbbase.o" "CMakeFiles/libstd3000c.dir/cpparams.o" "CMakeFiles/libstd3000c.dir/cppath.o" "CMakeFiles/libstd3000c.dir/cppipe.o" "CMakeFiles/libstd3000c.dir/cpqueue.o" "CMakeFiles/libstd3000c.dir/cprs232.o" "CMakeFiles/libstd3000c.dir/cpstream.o" "CMakeFiles/libstd3000c.dir/cpstrutils.o" "CMakeFiles/libstd3000c.dir/cptemplate.o" "CMakeFiles/libstd3000c.dir/cputils.o" "CMakeFiles/libstd3000c.dir/md5.o" "CMakeFiles/libstd3000c.dir/params.o" "CMakeFiles/libstd3000c.dir/cpchrtrans.o" "CMakeFiles/libstd3000c.dir/cpdatabase.o" "CMakeFiles/libstd3000c.dir/cprecord.o" "CMakeFiles/libstd3000c.dir/cpdatabaseold.o" "CMakeFiles/libstd3000c.dir/cplangtrans.o" "CMakeFiles/libstd3000c.dir/cpstring.o" "CMakeFiles/libstd3000c.dir/cpnetconn.o" "CMakeFiles/libstd3000c.dir/cpstringcheck.o" "CMakeFiles/libstd3000c.dir/cpdatabaseutil.o" "CMakeFiles/libstd3000c.dir/cpstrarray.o" "CMakeFiles/libstd3000c.dir/cpuri.o" "CMakeFiles/libstd3000c.dir/cpxmlparse.o" "CMakeFiles/libstd3000c.dir/cpprocess.o" "CMakeFiles/libstd3000c.dir/cplistener.o" "CMakeFiles/libstd3000c.dir/cppool.o" "CMakeFiles/libstd3000c.dir/cpvaltype.o" "CMakeFiles/libstd3000c.dir/cprights.o" "CMakeFiles/libstd3000c.dir/cpdate.o" "CMakeFiles/libstd3000c.dir/cpchaindata.o" "CMakeFiles/libstd3000c.dir/cpchainlink.o" "CMakeFiles/libstd3000c.dir/cpchainmap.o" "CMakeFiles/libstd3000c.dir/mem.o" "CMakeFiles/libstd3000c.dir/cpxml.o" "CMakeFiles/libstd3000c.dir/cpfield.o" "CMakeFiles/libstd3000c.dir/cpresultset.o" "CMakeFiles/libstd3000c.dir/cpdbschema.o" "CMakeFiles/libstd3000c.dir/cpberkeley.o" "CMakeFiles/libstd3000c.dir/cpexec.o" "CMakeFiles/libstd3000c.dir/cpcsv.o" "CMakeFiles/libstd3000c.dir/cpmapptr.o" "CMakeFiles/libstd3000c.dir/cpaprbb.o" "CMakeFiles/libstd3000c.dir/cpbbtemplate.o" "CMakeFiles/libstd3000c.dir/cpeancode.o" "CMakeFiles/libstd3000c.dir/cpmutex.o" "CMakeFiles/libstd3000c.dir/cpnetwork.o" "CMakeFiles/libstd3000c.dir/cpunicode.o" "CMakeFiles/libstd3000c.dir/cpstack.o" "CMakeFiles/libstd3000c.dir/cpgrafix.o" -lexpat -lapr-1 -laprutil-1 -lpng -ljpeg -lgd -lz -lfreetype -lm
>
> Why does this happen? How can I change this?
>
> Thank you in advance
> Manfred
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
>   




More information about the CMake mailing list