? useSwigPatch Index: Modules/UseSWIG.cmake =================================================================== RCS file: /cvsroot/CMake/CMake/Modules/UseSWIG.cmake,v retrieving revision 1.17 diff -u -r1.17 UseSWIG.cmake --- Modules/UseSWIG.cmake 2 Jan 2008 22:12:33 -0000 1.17 +++ Modules/UseSWIG.cmake 28 Apr 2009 14:16:51 -0000 @@ -99,7 +99,7 @@ "${CMAKE_CURRENT_BINARY_DIR}") IF(swig_source_file_relative_path) SET(swig_generated_file_fullname - "${swig_generated_file_fullname}/${swig_source_file_relative_path}") + "${swig_generated_file_fullname}${swig_source_file_relative_path}") ENDIF(swig_source_file_relative_path) # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir IF(CMAKE_SWIG_OUTDIR) @@ -186,10 +186,19 @@ GET_DIRECTORY_PROPERTY(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}") - ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME} - MODULE - ${swig_generated_sources} - ${swig_other_sources}) + #If the language is Java, it is a shared DLL/SO, and under Unix it should get a lib prefix + IF("x${SWIG_MODULE_${name}_LANGUAGE}x" MATCHES "^xJAVAx$") + ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME} + SHARED + ${swig_generated_sources} + ${swig_other_sources}) + ELSE("x${SWIG_MODULE_${name}_LANGUAGE}x" MATCHES "^xJAVAx$") + ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME} + MODULE + ${swig_generated_sources} + ${swig_other_sources}) + SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") + ENDIF("x${SWIG_MODULE_${name}_LANGUAGE}x" MATCHES "^xJAVAx$") SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") ENDMACRO(SWIG_ADD_MODULE)