Merge lp:~zorba-coders/zorba/util-jvm-rpath into lp:zorba/util-jvm-module
- util-jvm-rpath
- Merge into module-util-jvm
Proposed by
Juan Zacarias
Status: | Merged |
---|---|
Approved by: | Chris Hillery |
Approved revision: | 17 |
Merged at revision: | 17 |
Proposed branch: | lp:~zorba-coders/zorba/util-jvm-rpath |
Merge into: | lp:zorba/util-jvm-module |
Diff against target: |
334 lines (+315/-4) 2 files modified
cmake_modules/FindJNI.cmake (+304/-0) src/CMakeLists.txt (+11/-4) |
To merge this branch: | bzr merge lp:~zorba-coders/zorba/util-jvm-rpath |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Chris Hillery | Approve | ||
Juan Zacarias | Approve | ||
Review via email: mp+163074@code.launchpad.net |
Commit message
Fixes for Debian Installers.
Description of the change
Fixes for Debian Installers.
To post a comment you must log in.
- 17. By Juan Zacarias
-
Updated FindJNI with the correct cmake license, Added the correct RPATHS.
Revision history for this message
Juan Zacarias (juan457) : | # |
review:
Approve
Revision history for this message
Chris Hillery (ceejatec) : | # |
review:
Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job util-jvm-
All tests succeeded!
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'cmake_modules/FindJNI.cmake' |
2 | --- cmake_modules/FindJNI.cmake 1970-01-01 00:00:00 +0000 |
3 | +++ cmake_modules/FindJNI.cmake 2013-05-27 16:57:27 +0000 |
4 | @@ -0,0 +1,304 @@ |
5 | +# - Find JNI java libraries. |
6 | +# This module finds if Java is installed and determines where the |
7 | +# include files and libraries are. It also determines what the name of |
8 | +# the library is. This code sets the following variables: |
9 | +# |
10 | +# JNI_INCLUDE_DIRS = the include dirs to use |
11 | +# JNI_LIBRARIES = the libraries to use |
12 | +# JNI_FOUND = TRUE if JNI headers and libraries were found. |
13 | +# JAVA_AWT_LIBRARY = the path to the jawt library |
14 | +# JAVA_JVM_LIBRARY = the path to the jvm library |
15 | +# JAVA_INCLUDE_PATH = the include path to jni.h |
16 | +# JAVA_INCLUDE_PATH2 = the include path to jni_md.h |
17 | +# JAVA_AWT_INCLUDE_PATH = the include path to jawt.h |
18 | +# |
19 | + |
20 | +#============================================================================= |
21 | +# Copyright 2000-2009 Kitware, Inc., Insight Software Consortium |
22 | +# All rights reserved. |
23 | +# |
24 | +# Redistribution and use in source and binary forms, with or without |
25 | +# modification, are permitted provided that the following conditions are met: |
26 | +# |
27 | +# * Redistributions of source code must retain the above copyright notice, |
28 | +# this list of conditions and the following disclaimer. |
29 | +# |
30 | +# * Redistributions in binary form must reproduce the above copyright notice, |
31 | +# this list of conditions and the following disclaimer in the documentation |
32 | +# and/or other materials provided with the distribution. |
33 | +# |
34 | +# * Neither the names of Kitware, Inc., the Insight Software Consortium, nor |
35 | +# the names of their contributors may be used to endorse or promote products |
36 | +# derived from this software without specific prior written permission. |
37 | +# |
38 | +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
39 | +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
40 | +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
41 | +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
42 | +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
43 | +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
44 | +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
45 | +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
46 | +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
47 | +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
48 | +# POSSIBILITY OF SUCH DAMAGE. |
49 | +#============================================================================= |
50 | + |
51 | +# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var} |
52 | +MACRO(java_append_library_directories _var) |
53 | + # Determine java arch-specific library subdir |
54 | + # Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk |
55 | + # 1.6.0_18 + icedtea patches. However, it would be much better to base the |
56 | + # guess on the first part of the GNU config.guess platform triplet. |
57 | + IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") |
58 | + SET(_java_libarch "amd64") |
59 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") |
60 | + SET(_java_libarch "i386") |
61 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha") |
62 | + SET(_java_libarch "alpha") |
63 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") |
64 | + # Subdir is "arm" for both big-endian (arm) and little-endian (armel). |
65 | + SET(_java_libarch "arm") |
66 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") |
67 | + # mips* machines are bi-endian mostly so processor does not tell |
68 | + # endianess of the underlying system. |
69 | + SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb") |
70 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") |
71 | + SET(_java_libarch "ppc64") |
72 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)") |
73 | + SET(_java_libarch "ppc") |
74 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc") |
75 | + # Both flavours can run on the same processor |
76 | + SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9") |
77 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)") |
78 | + SET(_java_libarch "parisc" "parisc64") |
79 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390") |
80 | + # s390 binaries can run on s390x machines |
81 | + SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x") |
82 | + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh") |
83 | + SET(_java_libarch "sh") |
84 | + ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") |
85 | + SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}") |
86 | + ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") |
87 | + |
88 | + # Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or |
89 | + # system is non-Linux (where the code above has not been well tested) |
90 | + IF(NOT _java_libarch OR NOT CMAKE_SYSTEM_NAME MATCHES "Linux") |
91 | + LIST(APPEND _java_libarch "i386" "amd64" "ppc") |
92 | + ENDIF(NOT _java_libarch OR NOT CMAKE_SYSTEM_NAME MATCHES "Linux") |
93 | + |
94 | + # Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer |
95 | + # current value to a hardcoded list. Remove possible duplicates. |
96 | + LIST(REMOVE_DUPLICATES _java_libarch) |
97 | + |
98 | + FOREACH(_path ${ARGN}) |
99 | + IF(_path MATCHES "{libarch}") |
100 | + FOREACH(_libarch ${_java_libarch}) |
101 | + STRING(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}") |
102 | + LIST(APPEND ${_var} "${_newpath}") |
103 | + ENDFOREACH(_libarch) |
104 | + ELSE(_path MATCHES "{libarch}") |
105 | + LIST(APPEND ${_var} "${_path}") |
106 | + ENDIF(_path MATCHES "{libarch}") |
107 | + ENDFOREACH(_path) |
108 | +ENDMACRO(java_append_library_directories) |
109 | + |
110 | +GET_FILENAME_COMPONENT(java_install_version |
111 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME) |
112 | + |
113 | +SET(JAVA_AWT_LIBRARY_DIRECTORIES |
114 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib" |
115 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib" |
116 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib" |
117 | + ) |
118 | + |
119 | +FILE(TO_CMAKE_PATH "$ENV{JAVA_HOME}" _JAVA_HOME) |
120 | + |
121 | +JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES |
122 | + ${_JAVA_HOME}/jre/lib/{libarch} |
123 | + ${_JAVA_HOME}/jre/lib |
124 | + ${_JAVA_HOME}/lib |
125 | + ${_JAVA_HOME} |
126 | + /usr/lib/jvm/java-6-openjdk/jre/lib |
127 | + /usr/lib/jvm/java-6-openjdk-i386/jre/lib |
128 | + /usr/lib/jvm/java-6-openjdk-amd64/jre/lib |
129 | + /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch} |
130 | + /usr/lib/jvm/java-6-openjdk-i386/jre/lib/{libarch} |
131 | + /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/{libarch} |
132 | + /usr/lib |
133 | + /usr/local/lib |
134 | + /usr/lib/jvm/java/lib |
135 | + /usr/lib/java/jre/lib/{libarch} |
136 | + /usr/local/lib/java/jre/lib/{libarch} |
137 | + /usr/local/share/java/jre/lib/{libarch} |
138 | + /usr/lib/j2sdk1.4-sun/jre/lib/{libarch} |
139 | + /usr/lib/j2sdk1.5-sun/jre/lib/{libarch} |
140 | + /opt/sun-jdk-1.5.0.04/jre/lib/{libarch} |
141 | + /usr/lib/jvm/java-6-sun/jre/lib/{libarch} |
142 | + /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch} |
143 | + /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch} # can this one be removed according to #8821 ? Alex |
144 | + /usr/lib/jvm/java-openjdk/jre/lib/{libarch} |
145 | + # Debian specific paths for default JVM |
146 | + /usr/lib/jvm/default-java/jre/lib/{libarch} |
147 | + /usr/lib/jvm/default-java/jre/lib |
148 | + /usr/lib/jvm/default-java/lib |
149 | + ) |
150 | + |
151 | +SET(JAVA_JVM_LIBRARY_DIRECTORIES) |
152 | +FOREACH(dir ${JAVA_AWT_LIBRARY_DIRECTORIES}) |
153 | + SET(JAVA_JVM_LIBRARY_DIRECTORIES |
154 | + ${JAVA_JVM_LIBRARY_DIRECTORIES} |
155 | + "${dir}" |
156 | + "${dir}/client" |
157 | + "${dir}/server" |
158 | + ) |
159 | +ENDFOREACH(dir) |
160 | + |
161 | + |
162 | +SET(JAVA_AWT_INCLUDE_DIRECTORIES |
163 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include" |
164 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include" |
165 | + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include" |
166 | + ${_JAVA_HOME}/include |
167 | + /usr/lib/jvm/java-6-openjdk/include |
168 | + /usr/lib/jvm/java-6-openjdk-amd64/include |
169 | + /usr/lib/jvm/java-6-openjdk-i386/include |
170 | + /usr/include |
171 | + /usr/local/include |
172 | + /usr/lib/java/include |
173 | + /usr/local/lib/java/include |
174 | + /usr/lib/jvm/java/include |
175 | + /usr/lib/jvm/java-6-sun/include |
176 | + /usr/lib/jvm/java-1.5.0-sun/include |
177 | + /usr/lib/jvm/java-6-sun-1.6.0.00/include # can this one be removed according to #8821 ? Alex |
178 | + /usr/lib/jvm/java-6-openjdk/include |
179 | + /usr/local/share/java/include |
180 | + /usr/lib/j2sdk1.4-sun/include |
181 | + /usr/lib/j2sdk1.5-sun/include |
182 | + /opt/sun-jdk-1.5.0.04/include |
183 | + # Debian specific path for default JVM |
184 | + /usr/lib/jvm/default-java/include |
185 | + ) |
186 | + |
187 | +FOREACH(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}") |
188 | + GET_FILENAME_COMPONENT(jpath "${JAVA_PROG}" PATH) |
189 | + FOREACH(JAVA_INC_PATH ../include ../java/include ../share/java/include) |
190 | + IF(EXISTS ${jpath}/${JAVA_INC_PATH}) |
191 | + SET(JAVA_AWT_INCLUDE_DIRECTORIES ${JAVA_AWT_INCLUDE_DIRECTORIES} "${jpath}/${JAVA_INC_PATH}") |
192 | + ENDIF(EXISTS ${jpath}/${JAVA_INC_PATH}) |
193 | + ENDFOREACH(JAVA_INC_PATH) |
194 | + FOREACH(JAVA_LIB_PATH |
195 | + ../lib ../jre/lib ../jre/lib/i386 |
196 | + ../java/lib ../java/jre/lib ../java/jre/lib/i386 |
197 | + ../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386) |
198 | + IF(EXISTS ${jpath}/${JAVA_LIB_PATH}) |
199 | + SET(JAVA_AWT_LIBRARY_DIRECTORIES ${JAVA_AWT_LIBRARY_DIRECTORIES} "${jpath}/${JAVA_LIB_PATH}") |
200 | + ENDIF(EXISTS ${jpath}/${JAVA_LIB_PATH}) |
201 | + ENDFOREACH(JAVA_LIB_PATH) |
202 | +ENDFOREACH(JAVA_PROG) |
203 | + |
204 | +IF(APPLE) |
205 | + IF(EXISTS ~/Library/Frameworks/JavaVM.framework) |
206 | + SET(JAVA_HAVE_FRAMEWORK 1) |
207 | + ENDIF(EXISTS ~/Library/Frameworks/JavaVM.framework) |
208 | + IF(EXISTS /Library/Frameworks/JavaVM.framework) |
209 | + SET(JAVA_HAVE_FRAMEWORK 1) |
210 | + ENDIF(EXISTS /Library/Frameworks/JavaVM.framework) |
211 | + IF(EXISTS /System/Library/Frameworks/JavaVM.framework) |
212 | + SET(JAVA_HAVE_FRAMEWORK 1) |
213 | + ENDIF(EXISTS /System/Library/Frameworks/JavaVM.framework) |
214 | + |
215 | + IF(JAVA_HAVE_FRAMEWORK) |
216 | + IF(NOT JAVA_AWT_LIBRARY) |
217 | + SET (JAVA_AWT_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE) |
218 | + ENDIF(NOT JAVA_AWT_LIBRARY) |
219 | + |
220 | + IF(NOT JAVA_JVM_LIBRARY) |
221 | + SET (JAVA_JVM_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE) |
222 | + ENDIF(NOT JAVA_JVM_LIBRARY) |
223 | + |
224 | + IF(NOT JAVA_AWT_INCLUDE_PATH) |
225 | + IF(EXISTS /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h) |
226 | + SET (JAVA_AWT_INCLUDE_PATH "/System/Library/Frameworks/JavaVM.framework/Headers" CACHE FILEPATH "jawt.h location" FORCE) |
227 | + ENDIF(EXISTS /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h) |
228 | + ENDIF(NOT JAVA_AWT_INCLUDE_PATH) |
229 | + |
230 | + # If using "-framework JavaVM", prefer its headers *before* the others in |
231 | + # JAVA_AWT_INCLUDE_DIRECTORIES... (*prepend* to the list here) |
232 | + # |
233 | + SET(JAVA_AWT_INCLUDE_DIRECTORIES |
234 | + ~/Library/Frameworks/JavaVM.framework/Headers |
235 | + /Library/Frameworks/JavaVM.framework/Headers |
236 | + /System/Library/Frameworks/JavaVM.framework/Headers |
237 | + ${JAVA_AWT_INCLUDE_DIRECTORIES} |
238 | + ) |
239 | + ENDIF(JAVA_HAVE_FRAMEWORK) |
240 | +ELSE(APPLE) |
241 | + FIND_LIBRARY(JAVA_AWT_LIBRARY jawt |
242 | + PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES} |
243 | + ) |
244 | + FIND_LIBRARY(JAVA_JVM_LIBRARY NAMES jvm JavaVM java |
245 | + PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES} |
246 | + ) |
247 | +ENDIF(APPLE) |
248 | + |
249 | +# add in the include path |
250 | +FIND_PATH(JAVA_INCLUDE_PATH jni.h |
251 | + ${JAVA_AWT_INCLUDE_DIRECTORIES} |
252 | +) |
253 | + |
254 | +FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h |
255 | + ${JAVA_INCLUDE_PATH} |
256 | + ${JAVA_INCLUDE_PATH}/win32 |
257 | + ${JAVA_INCLUDE_PATH}/linux |
258 | + ${JAVA_INCLUDE_PATH}/freebsd |
259 | + ${JAVA_INCLUDE_PATH}/solaris |
260 | +) |
261 | + |
262 | +FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h |
263 | + ${JAVA_INCLUDE_PATH} |
264 | +) |
265 | + |
266 | + |
267 | +IF (APPLE) |
268 | + # On Mac, the java headers files are broken symlinks if the Apple Developer Tools for Java are not installed |
269 | + EXECUTE_PROCESS(COMMAND cat ${JAVA_INCLUDE_PATH}/jni.h |
270 | + OUTPUT_QUIET |
271 | + ERROR_QUIET |
272 | + RESULT_VARIABLE SYMLINK_CHECK_RESULT_VARIABLE) |
273 | + IF (SYMLINK_CHECK_RESULT_VARIABLE GREATER 0) |
274 | + SET (JAVA_INCLUDE_PATH "JAVA_INCLUDE_PATH-NOTFOUND") |
275 | + SET (JAVA_INCLUDE_PATH2 "JAVA_INCLUDE_PATH2-NOTFOUND") |
276 | + SET (JAVA_AWT_INCLUDE_PATH "JAVA_AWT_INCLUDE_PATH-NOTFOUND") |
277 | + ENDIF() |
278 | +ENDIF (APPLE) |
279 | + |
280 | + |
281 | +#INCLUDE("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake") |
282 | +#FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY |
283 | +# JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) |
284 | + |
285 | +MARK_AS_ADVANCED( |
286 | + JAVA_AWT_LIBRARY |
287 | + JAVA_JVM_LIBRARY |
288 | + JAVA_AWT_INCLUDE_PATH |
289 | + JAVA_INCLUDE_PATH |
290 | + JAVA_INCLUDE_PATH2 |
291 | +) |
292 | + |
293 | +IF (JAVA_AWT_LIBRARY AND JAVA_JVM_LIBRARY AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2 AND JAVA_AWT_INCLUDE_PATH) |
294 | + SET(JNI_FOUND 1) |
295 | + SET(JNI_LIBRARIES |
296 | + ${JAVA_AWT_LIBRARY} |
297 | + ${JAVA_JVM_LIBRARY} |
298 | + ) |
299 | + SET(JNI_INCLUDE_DIRS |
300 | + ${JAVA_INCLUDE_PATH} |
301 | + ${JAVA_INCLUDE_PATH2} |
302 | + ${JAVA_AWT_INCLUDE_PATH} |
303 | + ) |
304 | +ELSE (JAVA_AWT_LIBRARY AND JAVA_JVM_LIBRARY AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2 AND JAVA_AWT_INCLUDE_PATH) |
305 | + SET(JNI_FOUND 0) |
306 | + SET(JNI_LIBRARIES "") |
307 | + SET(JNI_INCLUDE_DIRS "") |
308 | +ENDIF (JAVA_AWT_LIBRARY AND JAVA_JVM_LIBRARY AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2 AND JAVA_AWT_INCLUDE_PATH) |
309 | |
310 | === modified file 'src/CMakeLists.txt' |
311 | --- src/CMakeLists.txt 2012-06-04 21:47:12 +0000 |
312 | +++ src/CMakeLists.txt 2013-05-27 16:57:27 +0000 |
313 | @@ -39,10 +39,17 @@ |
314 | LIBRARY DESTINATION lib${LIB_SUFFIX} |
315 | ARCHIVE DESTINATION lib) |
316 | |
317 | -# MAC OS X only property |
318 | -# this is required to make sure that the library has the correct install name after |
319 | -# installation such that dependent modules always find it |
320 | -SET_TARGET_PROPERTIES(util-jvm PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") |
321 | +#SET RPATH |
322 | +IF (ZORBA_ADD_DEBIAN_JRE_RPATHS) |
323 | + SET (INSTALL_RPATH_PATHS "/usr/lib/jvm/default-java/jre/lib/amd64/server;/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server;/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server;/usr/lib/jvm/java-7-openjdk/jre/lib/amd64/server;/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server;/usr/lib/jvm/default-java/jre/lib/i386/server;/usr/lib/jvm/java-6-openjdk/jre/lib/i386/server;/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server;/usr/lib/jvm/java-7-openjdk/jre/lib/i386/server;/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server") |
324 | + SET_TARGET_PROPERTIES(util-jvm PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" INSTALL_RPATH_USE_LINK_PATH TRUE INSTALL_RPATH "${INSTALL_RPATH_PATHS}") |
325 | +ELSE (ZORBA_ADD_DEBIAN_JRE_RPATHS) |
326 | + # MAC OS X only property |
327 | + # this is required to make sure that the library has the correct install name after |
328 | + # installation such that dependent modules always find it |
329 | + SET_TARGET_PROPERTIES(util-jvm PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") |
330 | +ENDIF (ZORBA_ADD_DEBIAN_JRE_RPATHS) |
331 | + |
332 | |
333 | # Set this in the parent scope so it will be put into our Config.cmake file. |
334 | # As with many other things, this doesn't work when the module is installed. |
1. I believe that the correct values for RPATH are directories, not actual .so files, so the value of INSTALL_RPATH_PATHS should omit all the "/libjvm.so" parts.
2. FindJNI.cmake says:
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
So, we should do that.