diff options
author | Brad King <brad.king@kitware.com> | 2018-03-26 12:01:51 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2018-03-26 12:01:57 (GMT) |
commit | 6792c7787aedc0fb2a32b6ca563917f7447f2e80 (patch) | |
tree | 0df436353f6e98d4e63417a2ef56097cba5d9fd9 /Modules | |
parent | 0e323aad431044ccf60d72cb951563f78c688b66 (diff) | |
parent | 51b642679bc5dc675ab0e4e3fe7dc4c053ba60f4 (diff) | |
download | CMake-6792c7787aedc0fb2a32b6ca563917f7447f2e80.zip CMake-6792c7787aedc0fb2a32b6ca563917f7447f2e80.tar.gz CMake-6792c7787aedc0fb2a32b6ca563917f7447f2e80.tar.bz2 |
Merge topic 'UseSWIG-fix-library-prefix'
51b642679b UseSWIG: fix prefix library for Java on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mathieu Malaterre <mathieu.malaterre@gmail.com>
Merge-request: !1871
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/UseSWIG.cmake | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index 6d35d1b..8e7ca41 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -507,15 +507,18 @@ function(SWIG_ADD_LIBRARY name) elseif (swig_lowercase_language STREQUAL "go") set_target_properties(${name} PROPERTIES PREFIX "") elseif (swig_lowercase_language STREQUAL "java") + # In java you want: + # System.loadLibrary("LIBRARY"); + # then JNI will look for a library whose name is platform dependent, namely + # MacOS : libLIBRARY.jnilib + # Windows: LIBRARY.dll + # Linux : libLIBRARY.so if (APPLE) - # In java you want: - # System.loadLibrary("LIBRARY"); - # then JNI will look for a library whose name is platform dependent, namely - # MacOS : libLIBRARY.jnilib - # Windows: LIBRARY.dll - # Linux : libLIBRARY.so - set_target_properties (${name} PROPERTIES SUFFIX ".jnilib") - endif () + set_target_properties (${name} PROPERTIES SUFFIX ".jnilib") + endif() + if ((WIN32 AND MINGW) OR CYGWIN OR CMAKE_SYSTEM_NAME STREQUAL MSYS) + set_target_properties(${name} PROPERTIES PREFIX "") + endif() elseif (swig_lowercase_language STREQUAL "lua") if(_SAM_TYPE STREQUAL "MODULE") set_target_properties(${name} PROPERTIES PREFIX "") @@ -560,11 +563,16 @@ function(SWIG_ADD_LIBRARY name) # target property SWIG_SUPPORT_FILES lists proxy support files if (NOT SWIG_MODULE_${name}_NOPROXY) string(TOUPPER "${_SAM_LANGUAGE}" swig_uppercase_language) + set(swig_all_support_files) foreach (swig_it IN LISTS SWIG_${swig_uppercase_language}_EXTRA_FILE_EXTENSIONS) set (swig_support_files ${swig_generated_sources}) list (FILTER swig_support_files INCLUDE REGEX ".*${swig_it}$") - set_property (TARGET ${name} APPEND PROPERTY SWIG_SUPPORT_FILES ${swig_support_files}) + list(APPEND swig_all_support_files ${swig_support_files}) endforeach() + if (swig_all_support_files) + list(REMOVE_DUPLICATES swig_all_support_files) + endif() + set_property (TARGET ${name} APPEND PROPERTY SWIG_SUPPORT_FILES ${swig_all_support_files}) endif() # to ensure legacy behavior, export some variables |