From 15488c94d2d3ffd4364b4d1c3991d23466a437c2 Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Mon, 22 Oct 2012 11:29:32 +0000 Subject: [PATCH] [1.5] Fix Java binding issues. Properly link to math lib on UNIX Make JNI install location a user configuration Remove SONAME property from the java module --- CMakeLists.txt | 8 ++++++++ applications/JavaOpenJPEG/CMakeLists.txt | 11 ++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d28a948a..1c073693 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,14 @@ IF(NOT OPENJPEG_INSTALL_DOC_DIR) SET(OPENJPEG_INSTALL_DOC_DIR "share/doc/${OPENJPEG_INSTALL_SUBDIR}") ENDIF(NOT OPENJPEG_INSTALL_DOC_DIR) +if(NOT OPENJPEG_INSTALL_JNI_DIR) + if(WIN32) + set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_BIN_DIR}) + else() + set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_LIB_DIR}) + endif() +endif() + IF(NOT OPENJPEG_INSTALL_PACKAGE_DIR) # We could install *.cmake files in share/ however those files contains # hardcoded path to libraries on a multi-arch system (fedora/debian) those diff --git a/applications/JavaOpenJPEG/CMakeLists.txt b/applications/JavaOpenJPEG/CMakeLists.txt index 3891822e..477ba749 100644 --- a/applications/JavaOpenJPEG/CMakeLists.txt +++ b/applications/JavaOpenJPEG/CMakeLists.txt @@ -24,13 +24,14 @@ include_directories( add_library(openjpegjni MODULE ${openjpegjni_SRCS} ) +# Java module should not have a SONAME: +set_property(TARGET openjpegjni PROPERTY NO_SONAME 1) + TARGET_LINK_LIBRARIES(openjpegjni ${OPENJPEG_LIBRARY_NAME}) -IF(WIN32) - SET(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_BIN_DIR}) -ELSE() - SET(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_LIB_DIR}) -ENDIF() +if(UNIX) + target_link_libraries(openjpegjni m) +endif() INSTALL(TARGETS openjpegjni EXPORT OpenJPEGTargets