diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9dcbbb78..69958051 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -35,6 +35,7 @@ else() endif() set_target_properties(avtranscoder-shared PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR}) set_target_properties(avtranscoder-shared PROPERTIES VERSION ${AVTRANSCODER_VERSION}) +set_target_properties(avtranscoder-shared PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1) target_link_libraries(avtranscoder-shared ${FFMPEG_LIBRARIES}) target_include_directories(avtranscoder-shared PUBLIC ${AVTRANSCODER_SRC_PATH} ${FFMPEG_INCLUDE_DIR}) @@ -48,11 +49,8 @@ install( PATTERN "*.hpp" PATTERN "*.i" ) -set(LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib") -install( - DIRECTORY "${LIBRARY_OUTPUT_PATH}" - DESTINATION "${CMAKE_INSTALL_PREFIX}" -) +install(TARGETS avtranscoder-static DESTINATION lib/) +install(TARGETS avtranscoder-shared DESTINATION lib/) ### Install AvTranscoder ressource install( @@ -97,6 +95,13 @@ if(SWIG_FOUND) set_target_properties(${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR}) set_target_properties(${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION}) endif() + # Force the library to look in the project lib folder relatively + set_target_properties(${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1) + if(APPLE) + set_target_properties(${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES INSTALL_RPATH "@loader_path/../../..") + else() + set_target_properties(${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/../../..:$ORIGIN") + endif() swig_link_libraries(avtranscoder-py avtranscoder-shared ${PYTHON_LIBRARIES}) # Install python interface @@ -106,7 +111,8 @@ if(SWIG_FOUND) FILES ${AVTRANSCODER_PYTHON_BINDING_FILE} ${AVTRANSCODER_PYTHON_INIT_FILE} DESTINATION ${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR} ) - # Install __init__.py + # Install python lib and __init__.py files + install(TARGETS ${SWIG_MODULE_avtranscoder-py_REAL_NAME} DESTINATION "lib/python${PYTHONLIBS_VERSION_STRING}/site-packages/pyAvTranscoder/") install(CODE "file(WRITE ${CMAKE_INSTALL_PREFIX}/${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR}/__init__.py)") else() message("PYTHON not found, will not build python binding.") @@ -136,6 +142,13 @@ if(SWIG_FOUND) set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR}) set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION}) endif() + # Force the library to look in the project lib folder relatively + set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1) + if(APPLE) + set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH "@loader_path/..") + else() + set_target_properties(${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/..:$ORIGIN") + endif() swig_link_libraries(avtranscoder-java avtranscoder-shared) # Post build of java binding : compile java files (generate class files) and create jar @@ -152,7 +165,8 @@ if(SWIG_FOUND) COMMAND ${Java_JAR_EXECUTABLE} cf ${AVTRANSCODER_JAR_NAME} "-C" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "." ) - # Install jar file + # Install java lib and jar files + install(TARGETS ${SWIG_MODULE_avtranscoder-java_REAL_NAME} DESTINATION "lib/java") install(FILES ${AVTRANSCODER_JAR_PATH}/${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/") else() message("JAVA not found, will not build java binding.") diff --git a/tools/travis.python.nosetests.sh b/tools/travis.python.nosetests.sh index 4f235c43..d59cc745 100644 --- a/tools/travis.python.nosetests.sh +++ b/tools/travis.python.nosetests.sh @@ -1,7 +1,7 @@ #!/bin/bash # Get avtranscoder library -export PYTHONPATH=`pwd`/build/dist/lib:`pwd`/build/dist/lib/python2.7.6/site-packages/:$PYTHONPATH +export PYTHONPATH=`pwd`/build/dist/lib/python2.7.6/site-packages/:$PYTHONPATH # Get avtranscoder profiles export AVPROFILES=`pwd`/build/dist/share/ressource