On 7/1/07, Mike Jackson <[EMAIL PROTECTED]> wrote:
On Jun 30, 2007, at 3:12 PM, Alan W. Irwin wrote:
> On 2007-06-30 11:50-0400 Mike Jackson wrote:
>
>> So I tried various incantations of SET_TARGET_PROPERTIES and all
>> had no effect:
>>
>> IF ( APPLE )
>> SET_TARGET_PROPERTIES (${MXADATAMODEL_LIB_NAME}
>> PROPERTIES
>> INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib
>> )
>>
>> ENDIF ( APPLE )
>>
>> So I am obviously not seeing the forest for the trees..
>
> Hmm. I have no access to Mac OS X, but the PLplot developer who
> has access
> to that platform dealt with this issue to his own satisfaction. To
> follow
> what we do, please look at
> http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/.
>
> cmake/modules/rpath.cmake leaves USE_RPATH undefined in the Darwin
> case
> because we found that setting anything to do with RPATH on Mac OS X
> caused
> problems (at least according to the note in that file).
>
> LIB_DIR is defined in cmake/modules/instdirs.cmake. Bydefault it
> is equivalent to ${CMAKE_INSTALL_PREFIX}/lib
>
> src/CMakeLists.txt invokes SET_TARGET_PROPERTIES (for the USE_RPATH
> undefined case) as follows:
>
> set_target_properties(
> plplot${LIB_TAG}
> PROPERTIES SOVERSION ${plplot_SOVERSION}
> VERSION ${plplot_VERSION}
> INSTALL_NAME_DIR "${LIB_DIR}"
> )
>
> So that is not essentially different from what you did aside from
> the quotes
> on ${LIB_DIR}. You might want to try the quotes to see if they
> matter.
>
> Other considerations that come to mind are did you try the test
> starting
> from an empty build tree and actually run "make install" in the
> build tree
> before testing run-time access to the library in the install tree?
>
> Alan
> __________________________
> Alan W. Irwin
>
Yes, my library is small enough where I can start completely fresh
each time. After running make install I run "otool -L ..." on the
installed library which reports back NO rpath is set. Just the
libname, which means I have to add the path to my DYLD_LIBRARY_PATH,
which will cause a problem for other reasons.
THanks for the suggestions. I will try them later this weekend.
The following CMakeLists.txt works fine on my iBook G4 (Mac OS X 10.4):
$ ls
CMakeLists.txt hello.c main.c
$ cat CMakeLists.txt
PROJECT(hello)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(CMAKE_INSTALL_PREFIX /usr/local/hello)
ADD_LIBRARY(hello SHARED hello.c)
SET_TARGET_PROPERTIES(hello PROPERTIES
INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib
)
ADD_EXECUTABLE(main main.c)
TARGET_LINK_LIBRARIES(main hello)
INSTALL(
TARGETS hello main
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
$
--
Mike Jackson Senior Research Engineer
Innovative Management & Technology Services
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake