[CMake] Platform specific output file advice

Nicholas Yue yue.nicholas at gmail.com
Sat Sep 15 23:23:51 EDT 2007


Hi,

  I have been successfully using CMake with SWIG to compile language
extensions for Java/Python/Ruby on Linux.

-- for RUBY
SWIG_ADD_MODULE ( ribclient ruby ribclient.i ParameterList.cpp )
SWIG_LINK_LIBRARIES ( ribclient utils 3delight ruby )

-- for Java
SWIG_ADD_MODULE ( ribclient java RIBClient.i ParameterList.cpp )
SWIG_LINK_LIBRARIES ( ribclient utils 3delight )

  The build produces *.so file on both Linux and OSX but on OSX, Ruby
extension must end with .bundle and Java extension must be prefix with
'lib" and postfix with ".jnilib"

  Manually renaming the file works as the content has been correctly
compile by the Makefiles generated by CMake.

  My question is should this be abstracted out into CMake as it should
handle cross platform build or should I use/write a macro to do that?

  If I have to manually intervene, could someone point me to an
example of how one should rename a given file from within a CMake
configuration file like CMakeLists.txt.

Regards


More information about the CMake mailing list