2017-07-28 5 views
0

これは、AzureストレージC++ツールキットをCMakeに統合する方法です。CMake for C++ Azure

私はAzureのBLOBストレージに接続し、ファイル/コンテナをリストし、データを読み込むなどのツールを私たちのアプリケーションで構築しようとしています。私はLinux(Ubuntu 17.04)で作業します。私はソースからcpprestsdkとazure-storageの両方のツールを構築しました。

私は文字通りCMAKE_CXX_FLAGS

-I/apps/azure/inst/include

を追加するため、いくつかのことをコンパイルすることができています。ご覧のとおり、CMAKE_INSTALL_PREFIX=/apps/azure/instを使って、cpprestとazure-storageの両方に使用しました。

libサブディレクトリには、.cmakeファイルを含むcpprestsdk/ディレクトリがあります。しかし私は私が自分のCMakeLists.txtに含めることができる紺碧のストレージ用の.cmakeファイルが必要です。これは必要なもの(フラグ、ラ​​イブラリなど)を追加します。サンプルを見ると、これらはsdkのビルド中にのみ動作する方法で構築されていることがわかります。

誰かがこのような.cmakeインクルードファイルがあるかどうかを知っていますか?あれば、それはどこにインストールされていますか?

答えて

0

よくわかりました。私は何も見つけられず、誰も答えを投稿しないので、私は実験してきました。簡単な答えは、cpprestのものを使用して、自分でazure-storageディレクティブを追加します。

私が見つけられる唯一の事はREADME.mdのCMakeコードはcpprestです。私はそれを取って、それが必要とされるかもしれない自分の紺碧の貯蔵地名を加えました。

追加:依存関係の大きなバルクがcpprestの下にあるので、全部の作品

find_path(AZURE_INST_DIR "" HINTS /apps/azure/inst REQUIRED) 

、紺碧、ストレージ自体は(感謝の神を!)余分な依存関係を持っていません。

注意gccユーザー:cpprestとazure-storageコードがそれらで詰まっているため、-Wshadowと-Woverloaded-virtualをオフにします(これらはVisual Studioでは使用できません)。