UseSWIG: set .bundle ext on OSX and no prefix (#12184)

This commit is contained in:
Julien Schueller 2013-11-28 10:26:14 +01:00
parent 93d2322e89
commit 74f5545d0a
1 changed files with 12 additions and 2 deletions

View File

@ -210,8 +210,7 @@ macro(SWIG_ADD_MODULE name language)
# Linux : libLIBRARY.so # Linux : libLIBRARY.so
set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib") set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
endif () endif ()
endif () elseif ("${swig_lowercase_language}" STREQUAL "python")
if ("${swig_lowercase_language}" STREQUAL "python")
# this is only needed for the python case where a _modulename.so is generated # this is only needed for the python case where a _modulename.so is generated
set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
# Python extension modules on Windows must have the extension ".pyd" # Python extension modules on Windows must have the extension ".pyd"
@ -225,6 +224,17 @@ macro(SWIG_ADD_MODULE name language)
if(WIN32 AND NOT CYGWIN) if(WIN32 AND NOT CYGWIN)
set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
endif() endif()
elseif ("${swig_lowercase_language}" STREQUAL "ruby")
# In ruby you want:
# require 'LIBRARY'
# then ruby will look for a library whose name is platform dependent, namely
# MacOS : LIBRARY.bundle
# Windows: LIBRARY.dll
# Linux : LIBRARY.so
set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
if (APPLE)
set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".bundle")
endif ()
endif () endif ()
endmacro() endmacro()