[OSGeoJapan-discuss] GDAL development with IDE by CMake

Miura Hiroshi miurahr @ osmf.jp
2017年 10月 8日 (日) 05:53:26 PDT


OSMFJ 三浦です。

GDALの開発に関わったきっかけがありましたので、ビルドシステムの変更にむけた貢献をしたいとおもいました。

GDALはC++を用いて開発されていますが、各プラットフォームのC++コンパイラにあわせて、ビルドシステムを複数(GNU Make,
NMake/VC++)メンテナンスしています。また、テストについて、全体のコンパイル後に自動テストが実行される仕組みになっています。

GDALのような大規模なソフトウエアの、C++開発やリファクタリングの生産性を考えますと、インクりメンタルコンパイルや、IDEの適用ができることが必要ではないかとおもいます。

さて、C/C++におけるIDEといえば、市場にある選択肢は、事実上2つであるとおもいます。一つは、マイクロソフトのVisual Studio
でしょう。VS2017では、最近、CMakeのネイティブサポートがされました。

https://blogs.msdn.microsoft.com/vcblog/2016/10/05/cmake-support-in-visual-studio/

もう一つは、マルチプラットフォームで利用できるJetBrainsのCLionです。これは、当初からCMakeをサポートしています。
CMakeは、複数のC/C++コンパイラや開発環境、OSに対応できるビルドシステムです。

GDALでは、2012年ころにCMakeに移植するプロジェクトがありましたが、その後5年ほど停止していました。

このような状況を鑑みて、IDEでの利用ができるように、GDALにCMakeサポートを追加することが有効ではないかと考えて、実施してみました。

https://github.com/miurahr/gdal/commits/compile_with_cmake

私のマシンのMint Linux上のCLionを利用したGCCやClangでコーディングやデバッグできるところまで進みました。また、out
of sourceコンパイルができるようになりましたので、諸条件でのテストが効率良くできます。

今後、Windowsでの開発環境への対応を行う必要があるのですが、日本のOSGEOコミュニティでは、Windowsを使われている方が多いようですので、ぜひVisual
Studio 2017などで試して協力してほしいとおもいます。

今後、GDALの開発コミュニティへチケットをあげて、マージにむけて取り組むことになりますが、ビルドシステムの更新では、さまざまな環境でも動作することが重要です。一人では、全環境での確認や全オプションの選択肢の確認はなしえませんから、みなさんの協力が不可欠です。

グローバルへの報告/呼びかけに先駆けて、日本のコミュニティに協力要請しました。


OSGeoJapan-discuss メーリングリストの案内