On Tuesday 12 April 2011, Michael Hertling wrote:
> On 04/11/2011 11:10 PM, David Aiken wrote:
> > That didn't work for me.. I've got it simplified down to:
> > SET(CMAKE_SKIP_RPATH TRUE)
> > and in the CMakeCache.txt I see:
> > CMAKE_SKIP_RPATH:BOOL=NO
>
> That's not surprising as your SET() command doesn't write to the cache.
> It's the CMAKE_SKIP_RPATH variable's value in the current scope which
> is - should be - crucial for dropping the RPATH settings, AFAIK.
>
> > and further down:
> > CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
> >
> > I'm using the codeblocks unix makefile target. The rpath is present in
> > both the build and install shared library.
>
> With the UnixMakefile generator, I can see the following CMakeLists.txt
>
> CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
> PROJECT(RPATH C)
> SET(CMAKE_VERBOSE_MAKEFILE ON)
> SET(CMAKE_SKIP_RPATH TRUE)
> FILE(WRITE ${CMAKE_BINARY_DIR}/f.c "void f(void){}\n")
> ADD_LIBRARY(f SHARED f.c)
> FILE(WRITE ${CMAKE_BINARY_DIR}/main.c "int main(void){return 0;}\n")
> ADD_EXECUTABLE(main main.c)
> TARGET_LINK_LIBRARIES(main f)
>
> produce the following command line to link:
>
> .../gcc CMakeFiles/main.dir/main.c.o -o main -rdynamic libf.so
>
> I.e., no RPATH for the executable.

Yes, but this is because you did not link against a library with a path. So 
you don't get any RPATH.
TARGET_LINK_LIBRARIES(main /opt/foo/libf.so)
would give you an RPATH in this command.

But this RPATH would be patched out on make install.

> Does the above-noted CMakeLists.txt actually produce different results
> w.r.t. the RPATHs when using the CodeBlocksUnixMakefiles generator?

Should be impossible, because the CodeBlocks generator simply generates the 
normal makefiles, and additionally the codeblocks xml project files.

Alex
_______________________________________________
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

Reply via email to