[CMake] Setting install_name on Mac OSX 10.5

Gerrick Bivins gbivins at objectreservoir.com
Mon Oct 20 18:23:49 EDT 2008


Hi Mike,
The generated jni libraries have no prefix and the ".so" suffix.
I can only find two macros defined for swig but that could be just be my
ignorance:

SWIG_ADD_MODULE(name language interfacefile)  ==> generate a module named
"name" for language "language" given the swig interface file "interfacefile)

SWIG_LINK_LIBRARIES( name linklib1 linklib2...) ==> link the module "name"
to linklib1,linklib2...etc

I was told in previous post that the .so suffix didn't matter, but with java
it seems to matter.

Gerrick

On 10/20/08 5:12 PM, "Michael Jackson" <mike.jackson at bluequartz.net> wrote:

> I can suggest all sorts of ways to set the install_name of the
> libraries BUT I would rather figure out _why_ the swig generated
> libraries are getting the "../../lib" prefix in the first place.
> 
> I don't have any experience with swig so I can only guess at this
> point. Does swig have its own settings for Install_name on OS X?
> 
> Also, which libraries are not correct:
>    The c/c++ libraries?
>    The generated jni libraries?
> 
> All? Both?
> 
> _________________________________________________________
> Mike Jackson                  mike.jackson at bluequartz.net
> BlueQuartz Software                    www.bluequartz.net
> Principal Software Engineer                  Dayton, Ohio
> 
> On Oct 20, 2008, at 5:43 PM, Gerrick Bivins wrote:
> 
>> Hello all,
>> I¹m trying to use swig (SWIG_ADD_MODULE, SWIG_LINK_LIBRARIES) to
>> generate java bindings for a library (contains a couple of sub
>> libraries, similar to VTK¹s setup). I haven¹t been able to load the
>> generated shared libraries.
>> There were a couple of issues:
>> € My jvm won¹t load shared libraries unless they are named
>> ³lib{libName}.dylib². Default creates {libName}.so. I was able to
>> modify the properties of my of my targets to change the prefix to
>> ³lib² and the suffix to ³.dylib² and the libs began to load but
>> € My jvm won¹t load the generated shared libraries because the
>> install_name  is set to ³../../lib{libName}.dylib. If I manually
>> change them to simply be lib{libName}.dylib, the shared libs load.
>> 
>> I looked at this link:
>> http://www.cmake.org/pipermail/cmake/2006-October/011530.html
>> 
>>  And tried setting the ³INSTALL_NAME_DIR² property to ³², but this
>> didn¹t work.
>> Any suggestions? I¹m trying to simply create the shared libraries,
>> not bundles or  frameworks.
>> I¹m using cmake 2.6.2 on Mac OSX 10.5.
>> Gerrick
>> 
>> _______________________________________________
>> CMake mailing list
>> CMake at cmake.org
>> http://www.cmake.org/mailman/listinfo/cmake
> 
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake



More information about the CMake mailing list