Skip to main content

Qt Creator 20 CMakeアップデート

コメント
このブログは「Qt Creator 20 - CMake Update」の抄訳です。

Qt Creator 20 における CMake の変更点をご紹介します。

CMakePresets Kit のリファクタリング

Kit の生成

Qt Creator は Qt Creator 9 から CMakePresets をサポートしていましたが、一つ課題がありました。CMakePresets 用に生成された Kit がグローバルであったため、複数のプロジェクトで CMakePresets を使用するとグローバル Kit が増え続け、ユーザーが手動でクリーンアップする必要がありました。

Qt Creator 20 では、プロジェクト名 : プリセット名 という命名規則を採用することで、CMakePresets Kit を一時的かつプロジェクト固有にし、この問題を解決しています。

コンパイラーと Qt ベンダー拡張

CMake プリセットのコンパイラーは、CMAKE_CXX_COMPILER および CMAKE_C_COMPILER CMake 変数、または CCCXX 環境変数で指定できます。Qt バージョンについては、toolchainFile 変数で qt.toolchain.cmake ファイルを指定するか、CMAKE_PREFIX_PATH または QT_QMAKE_EXECUTABLE CMake 変数を設定する方法があります。

Qt Creator 20 では、vendor/qt.io/QtCreator/1.0 キー配下の qtcompiler/cxxcompiler/c サブキーを使って、これらの変数を直接指定できるようになりました。これは Qt Creator 14debugger が導入された方法と同様です。

なお、Qt、コンパイラー、デバッガーは一時的なものとしてマークされます。

エラー報告

以前は、Kit が Qt バージョンまたはコンパイラーバージョンを見つけられなかった場合、問題を確認するには QT_LOGGING_RULES=qtc.cmake.import*=true を使用するしかありませんでした。

Qt Creator 20 では、障害の詳細を含む問題が表示されるようになりました。

再読み込み

 CMakePresets.json または CMakeUserPresets.json を保存すると、Build > Reload CMake Presets アクションが自動的にトリガーされます。

find_package 依存プロバイダー

Qt のコンポーネントには他の Qt コンポーネントに依存するものがありますが、この依存関係は Qt SDK によって自動的には処理されていませんでした。

例えば、Qt SerialBus は SerialPort に依存しています。

Qt Creator 20 では、find_package(Qt6 COMPONENTS SerialBus) を使用した際に、Qt SerialPort も合わせて提示されるようになりました。

コメント

ブログを購読

Qt 6.11 を今すぐ試そう!

最新リリースはこちらからダウンロードできます。 www.qt.io/download

 Qt 6.11 がリリースされました!アプリケーション開発者やデバイス開発者向けに、多くの新機能と改善が追加されています。 

採用情報 

現在、さまざまなポジションで採用を行っています。募集職種はこちら をご覧ください。また、Instagram をフォローして #QtPeople の働き方もぜひチェックしてください。