Skip to content

Commit dbd4c6e

Browse files
author
Clement Champetier
committed
CMake: deploy java libs in lib/java
Force the library to look in the project lib folder relatively.
1 parent b493e58 commit dbd4c6e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,13 @@ if(SWIG_FOUND)
141141
set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR})
142142
set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION})
143143
endif()
144+
# Force the library to look in the project lib folder relatively
145+
set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1)
146+
if(APPLE)
147+
set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH "@loader_path/..")
148+
else()
149+
set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/..:$ORIGIN")
150+
endif()
144151
swig_link_libraries(avtranscoder-java avtranscoder-shared)
145152

146153
# Post build of java binding : compile java files (generate class files) and create jar
@@ -158,7 +165,7 @@ if(SWIG_FOUND)
158165
)
159166

160167
# Install java lib and jar files
161-
install(TARGETS ${SWIG_MODULE_avtranscoder-java_REAL_NAME} DESTINATION lib/)
168+
install(TARGETS ${SWIG_MODULE_avtranscoder-java_REAL_NAME} DESTINATION "lib/java")
162169
install(FILES ${AVTRANSCODER_JAR_PATH}/${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/")
163170
else()
164171
message("JAVA not found, will not build java binding.")

0 commit comments

Comments
 (0)