C++
ProtocolBuffers

[C++] ProtocolBuffersライブラリのビルド手順

■目的
ProtocolBuffersでライブラリファイルをビルドするためのソリューションファイルの生成。

Windows環境でCMakeによるソリューションファイル生成の事例があまり見あたらなかった。
CMakeの様々な機能は置いておいて、ソリューションファイルの生成に焦点を絞った手順。

■環境
Windows 7
CMake 4.10.2
ProtocolBuffers 3.5.1

■CMakeインストール
公式ページからダウンロード。https://cmake.org/download/
インストーラー版だとインストール時にパス登録するかも聞かれるので便利。

■実行手順
@テストフォルダ作成。
C:> mkdir test & cd test

@ファイルをgitから取得
C:\test> mkdir tmp\protobuf & mkdir tmp\googlemock
C:\test\tmp> git clone https://github.com/google/protobuf.git tmp\protobuf
C:\test\tmp> git clone https://github.com/google/googlemock.git tmp\googlemock

@ファイルをコピー
C:\test> echo ".git" > excludelist.txt
C:\test> xcopy tmp\protobuf protobuf /EXCLUDE:excludelist.txt /S /Y /I
C:\test> xcopy tmp\googlemock\googlemock protobuf\gmock /EXCLUDE:excludelist.txt /S /Y /I

@ソリューションファイル作成
C:\test> mkdir build & cd build
C:\test\build> cmake -G "Visual Studio 14 2015 Win64" -Dprotobuf_BUILD_TESTS=OFF C:\test\protobuf\cmake
最後の引数はCMakeのCMakeLists.txtのある場所。

メモ
・CMakeを実行したパス直下にファイルが生成される。
・CMakeのコマンド書式は以下。

cmake [<options>] (<path-to-source> | <path-to-existing-build>)

@生成したソリューションファイルの確認
「C:\test\build\protobuf.sln」が生成したソリューションファイル。
このファイルを開いて「libprotobuf」プロジェクトをビルドするとライブラリファイルが生成される。

■参考
・CMAKE
 http://www.cmake.org
・CMakeコマンドラインリファレンス
 https://cmake.org/cmake/help/v3.0/manual/cmake.1.html
・protobuf/cmake/README.md
https://github.com/google/protobuf/blob/master/cmake/README.md