ICUを使用するLinuxアプリケーションをビルドしようとしています。 ICUライブラリは一般にほとんどのLinuxディストリビューションで利用できますが、私は最近バージョン間でnot binary compatibleであることを知りました。 ICUを私のアプリケーションに配備するのが最も簡単な方法だと思うので、インストール時にすべての依存関係が満たされます。CMakeを使用してICUライブラリを展開するにはどうすればよいですか?
私はCMakeでどうすればいいですか?私は、次のことを試してみました:
find_library(ICUIL18N_LIB icui18n)
find_library(ICUUC_LIB icuuc)
find_library(ICUDATA_LIB icudata)
#link pthread and ICU against the library
target_link_libraries(MyApp pthread rt ${ICUIL18N_LIB} ${ICUUC_LIB})
install(FILES ${ICUIL18N_LIB} ${ICUUC_LIB} ${ICUDATA_LIB}
DESTINATION lib)
私は自分のアプリケーションがこれらのライブラリを期待で終わる私の生成されたパッケージを調べるときには、しかし、仕事に表示されます。
libicui18n.so.50 => /lib/libicui18n.so.50 (0xf74ee000)
libicuuc.so.50 => /lib/libicuuc.so.50 (0xf737b000)
をしかし、私のパッケージに含まれるファイルだけです
/lib/libicui18n.so -> libicui18n.so.50.1.2
/lib/libicuuc.so -> libicuuc.so.50.1.2
/lib/libicudata.so -> libicudata.so.50.1.2
は、私は右のファイルをインストールすることができますので、私はcmakeのを経由して、私の目標から実際に完全にリンクされたパスを取得するための方法はありますか?A:でも一致しない名前を持つシンボリックリンク
これには別の方法がありますか?私は 'BundleUtilities'プラグインを見ましたが、指示がはっきりしていないので、この状況に適用できるかどうかはわかりません。