質問
cmakeを使用してパッケージを作成しています
私は次の構造を持っています
bin/
bin1
lib/
lib1
lib2
ここで、LIB1とLIB2は外部動的ライブラリです。 rpathを設定して、lib1およびlib2と自動的にリンクするようにするにはどうすればよいですか?
解決
私はこれについてもCmakeに騒ぎ立ててきました。 CMAKEは、CMAKE_SKIP_BUILD_RPATHを使用してビルド時にリンクし、CMAKE_INSTALL_RPATHをリンクして、インストールターゲットの構築時に使用されるRPATを設定します。 Cmakeには、RPATメカニズムを使用することに関する良い情報があります。http://www.cmake.org/wiki/cmake_rpath_handling
別の方法は、ldconfigを使用することです。 SVN(1.6.17)を構築すると、インストールターゲットがldconfigを呼び出してrpathを設定するようにします。
$ PWDに対してではなく、バイナリに対してそれを保持するためにRPATHが必要な$ Originをご覧ください。
他のヒント
afaik、cmakeはすべてのターゲットにrpathを自動的に追加し、ターゲット_link_libraries()とリンクしています。
それをオフにするには、そこにあります CMAKE_SKIP_RPATH
オプション。
所属していません StackOverflow