This repository has been archived on 2023-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
plugin/cmake/rpath.cmake

22 lines
1.0 KiB
CMake

# Использование RPATH при установке в не системную директорию
#get_target_property(LIBS ${PROJECT_NAME} LINK_LIBRARIES)
foreach(LIB ${LIBRARIES})
get_property(LIBTYPE TARGET ${LIB} PROPERTY TYPE)
if (${LIBTYPE} STREQUAL "SHARED_LIBRARY")
get_property(LIBDIR TARGET ${LIB} PROPERTY LIBRARY_OUTPUT_DIRECTORY)
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIBDIR}" isSystemDir)
if("${isSystemDir}" STREQUAL "-1")
file(RELATIVE_PATH RELPATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${LIBDIR})
list(FIND RPATHLIST ${RELPATH} EXISTRPATH)
if("${EXISTRPATH}" STREQUAL "-1")
list(APPEND RPATHLIST ${RELPATH})
if("${CMAKE_INSTALL_RPATH}" STREQUAL "")
set(CMAKE_INSTALL_RPATH "$ORIGIN/${RELPATH}")
else()
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/${RELPATH}")
endif()
endif()
endif()
endif()
endforeach()