[CMake] Specifying linker flags for shared library build

Jonathan Romero jonnyro at jonnyro.com
Tue May 29 14:41:40 EDT 2012


Hello,

I am running a build using cmake using the Meego 1.2 toolchain (long
story).  This particular toolchain requires the --sysroot option to be used
to find any libraries it requires.

    set (CMAKE_CXX_FLAGS "-fpermissive")
    set (CMAKE_CXX_LINK_FLAGS "--sysroot=${INTEL_GRAPHICS_SDK_BASE}/sdk")
    set (CMAKE_CXX_FLAGS_DEBUG "-g")

These options allow the cmake initial compiler checks to pass, but when
producing a shared library during the build it looks like ld is being
called without any of the options specified.

Is there a different cmake variable that needs to be set to specify the
sysroot for shared libraries?

The error I am getting is



/usr/lib/madde/linux-i686/toolchains/meego-1.2-sdk-ia32-toolchain-1.0-linux_i686/i586-meego-linux-gnu/bin/../lib/gcc/i586-meego-linux-gnu/4.5.1/../../../../i586-meego-linux-gnu/bin/ld:
crti.o: No such file: No such file or directory
    collect2: ld returned 1 exit status


Interestingly enough there are some linker options being passed.
Specifically the output name. Is this perhaps overwriting my attempts to
specify linker options?


These are the flags that are generated:

/usr/lib/madde/linux-i686/toolchains/meego-1.2-sdk-ia32-toolchain-1.0-linux_i686/i586-meego-linux-gnu/bin/i586-meego-linux-gnu-g++
-fPIC -g   -shared -Wl,-soname,mylib_ES11_debug.so -o

Cheers,

Jonathan



-- 
Jonathan S. Romero
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120529/d13c6b9c/attachment.htm>


More information about the CMake mailing list