CppRestAPIのCMakeプロジェクト構造について

Admin私のストア

チュートリアルに入る前にCMake、cpprestsdk、mysql-connector-cppのCppRestAPIにおける利用方法ついて説明します。

CMakeではまずディレクトリ構成を決めることでプロジェクト管理が容易になります。

ディレクトリ構造をトップレベルのCMakeLists.txtで一定の様式を参考にすると決めやすくなります。CMakeLists.txtで設定する各項目を以下のように定めます。

・Preamble

プロジェクト名やバージョンの設定を行います。トップレベルのCMakeLists.txtで設定します。

・Project wide setup

プロジェクト全体を通して使用する変数等を設定します。トップレベルのCMakeLists.txtで設定します。

・Dependencies

依存するパッケージを探します。一般的なディレクトリ構造のパッケージはcmakeの関数で探せます。dependencies/CMakeLists.txtで設定します。

・Main build targets

ソースプログラムのビルド設定を行います。各ソースの依存関係を解決します。依存関係の解決はcmake/libs/DirectoryName.cmakeに設定します。src/CMakeLists.txtで設定します。プログラムのコンフィグファイルをinclude/configディレクトリに配置します。cmakeの関数でplaceholderを置き換える設定をinclude/CMakeLists.txtに設定します。

・Tests

テスト用プログラムのビルド設定を行います。依存関係の解決はcmake/tests/DirectoryNameTest.cmakeに設定します。tests/CMakeLists.txtで設定します。

・Packaging

CPackの設定を行います。packaging/CMakeLists.txtで設定します。

 

 

scripts/build.shでビルドします。ビルド結果は/CppRestApi/buildにできあがります。上記プロジェクト設定でビルドした場合、トップレベルのCMakeLists.txtでは各サブディレクトリをadd_subdirectory関数で取り込んでいます。そのためbuildフォルダ以下に各CMakeLists.txtを配置しているディレクトリができあがります。CMakeLists.txtでcmakeプロジェクトの依存関係の解決がなされるため、他のプロジェクトからadd_subdirectory関数で取り込むことができます。

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。