CMakeProjectManager2:Qt CreatorでCMakeを使用するときの便利さ

良い一日

CMakeProjectManager2は、CMakeビルドシステムでの作業をサポートする元のQt Creatorプラグインのフォークです。 このプロジェクトの不振な歴史は2011年から続いています(私の最初のブログ投稿: htrd.su/wiki/zhurnal/2011-03-24_14.49_qt_creator_i_cmake_-_prodolzhenie 、2012年からの2番目の更新: htrd.su/wiki/zhurnal/2012/ 10/17 / cmakeprojectmanager2 _-_ poslednie_izmenenija )。 それ以来、新しいものは何も追加されていません。 Qt Creatorの最新バージョンとの互換性が提供され、リポジトリは(実験として)GitHubに移動しました。

しかし、昨日と今日のために、さらにいくつかの変更が追加されました。これがHabréのプロジェクトに言及する理由でした。

したがって、最初の変更で追加された機能はそれほど多くありません。つまり、

次に、CMakeの起動をバイパスして.cbpファイルを生成するプラグインにCMakeFiles.txtの解析のサポートを追加するというアイデアが生まれました。 しかし、(先を見据えて)このアイデアはアイデアのままでした:パーサーとトークナイザーはCMakeソースコードに基づいて別々に書かれましたが、開発は別のねじクラッシュと共に忘却に沈みました。 プラグインへの統合すらできませんでした。

2番目の変更パッケージは2012年に追加され、次の機能と修正が含まれています。

このバージョンから、ファイルのリストがグロビングに基づいている場合、つまり、CMakeを非常に快適に使用できます。 リストがマスクで指定されている場合、次のようになります。
# UTILS file(GLOB_RECURSE UTIL_SOURCES "../util/*.cpp") file(GLOB_RECURSE UTIL_HEADERS "../util/*.h" "../util/*.hpp") 

Qt Creatorを介してファイルを追加すると、キャッシュが自動的に更新され、ファイルがツリー、ビルドシステム、およびC ++パーサーに表示されます。

それ以降、コードベースはアップストリームとのみ同期しました(実際、それに関する大きな変更はありません)。 最初のバージョンでは、マージリクエストを提出しようとしましたが、CMakeLists.txtに何らかの形で記述されたファイルではなく、すべてのファイルが表示されるため、ハッキングされました。 その後、彼は試しをやめました。 変更の一部またはすべてを突き出したい人は大歓迎です!

しかし、Qt Creatorの腸からCMakeプロジェクトをクロスコンパイルすることが必要になったことがありました。 これを行うのは難しくありません。ツールチェーンファイルを作成し( 詳細 )、特別なパラメーターを介してcmakeプロセスに渡します。 毎回手でパラメーターを書くだけでは不便です。

そのため、今日リポジトリに登場した変更がありました。

はい、多くの変更はありませんが、これは重要ではないと思います。 それがもう少し便利でシンプルになっていることが重要です。

実際、これらのパラメーターは、より使いやすい形式でCMakeのパラメーターを設定するために使用されます:-DCMAKE_BUILD_TYPE =および-DCMAKE_TOOLCHAIN_FILE、それぞれ。

ツールチェーンについてもう少し。 最初は、3つの設定方法がありました。

これまでのところ、Qt Creator Kitベースのオプションはオフになっています( 問題#4 )。

さらに、ニュアンスがあります:CMakeのドキュメントによると、ツールチェーンの変更は、新しい構成または現在の構成の完全なクリア(CMakeFilesおよびCMakeCache.txtの削除)でのみ可能です。したがって、ツールチェーン設定の変更が通知されると、キャッシュを使用せずに完全な再構成が実行されます。 警告ダイアログを追加する予定です( 問題#1 )。

パラメーターのユーザー入力が保存され、さらにパラメーターが既に設定されているかどうかが判断され、ユーザーが使用されることに注意してください。

まあ、それがどのように見えるかの写真:


誰かに役立つと思われる場合、私はうれしいです。 特に、バグ修正と新機能の実装を含むプールリクエストに満足しています。 レポートも優れていますが、プロジェクトの開発動向から理解できます。時間はあまりないため、反応は「遅い」から「遅い」になります。

UPD / 2015-07-18 /:git [master]およびCMakeProjectManager2のQtCでUbuntu 14.04 / Mint 17.xのPPAを作成しました:launchpad.net/~adrozdoff/+archive/ubuntu/qtcreator-git

Source: https://habr.com/ru/post/J248517/


All Articles