cmake-init不足しているcmakeプロジェクト初期化cmake-initは、FetchContent Ready、個別の消費者および開発者のターゲットであるCmakeプロジェクトを生成し、適切な再配置可能なcmakeパッケージをインストールするルールを提供し、最新のCmake(3.14+)を使用するCmakeプロジェクトの初期イザーを意見したCmake Project Initializerです。
cmake-initの出力や、パッケージマネージャー、ファズテスト、スーパービルドなど、cmake向けに実装された機能のその他の実用的な例など、Wikiをご覧ください。






Cmake関連のものについて私に連絡したい場合は、C ++ Slackの#cmakeチャンネルで私を見つけるかもしれません。知りたいことがCmake-Init固有の場合は、このリポジトリの議論で質問することもできます。
hを選択します。静的/共有ライブラリ?プロンプトが表示されたらsを選択してください。シンプルで正しい!FetchContent Readyプロジェクトを作成しますこれらのプログラムがインストールされていることを確認してください。
注記
これらのツールのいくつかは、Visual Studioを使用する場合はWindowsでも使用できますが、これらのアディンをインストールする必要があります。
このパッケージは、Pypiからダウンロードできます。 pipを使用してこのパッケージをインストールできます。
pip install cmake-init Clang-Tidyは、コンパイルされる前にコードの論理エラーを見つけるのに役立つ静的分析ツールです。このスクリプトにより、 devプリセットにclang-tidy Presetを継承し、このツールのCmake統合を可能にするオプションが提供されます。
CIは常にClang-Tidyを実行するため、ローカルでインストールして使用することは完全にオプションですが、お勧めします。
Windowsユーザーの場合、Clang-Tidyを使用したい場合は、Ninjaをインストールし、 dev PresetにgeneratorフィールドをNinjaに設定する必要があります。この理由は、MakeFilesとNinjaのみがClang-Tidyで使用するためにCmakeでサポートされているためです。他のジェネレーターの場合、この機能はopです。
CPPCheckはClang-Tidyに似た静的解析ツールですが、検出するものの重複は最小限であるため、両方を使用することは有益です。このスクリプトにより、 devプリセットにcppcheckプリセットを継承するオプションが得られ、このツールのcmake統合が可能になります。
CIは常にCPPCheckを実行するため、ローカルでインストールして使用することは完全にオプションですが、お勧めします。
Windowsユーザーの場合、CPPCheckを使用する場合は、Ninjaをインストールし、 dev PresetにgeneratorフィールドをNinjaに設定する必要があります。この理由は、MakeFilesとNinjaのみがCmakeとCppcheckで使用するためにサポートされているためです。他のジェネレーターの場合、この機能はopです。
Doxygenは、注釈付きソースコードからドキュメントを生成するためのツールです。それに関連して、M.CSSは生成されたドキュメントを提示するために使用されます。
生成されたプロジェクトには、開発者モードのdocsターゲットがあり、ドキュメントを使用して<binary-dir>/docs/htmlディレクトリにビルドできます。
Doxygenがインストールされたら、 PATHにdoxygen実行可能ファイルが存在することを確認してください。そうしないと、混乱するエラーメッセージが表示される場合があります。
このドキュメントは、生成されたCIワークフローのdocsジョブを使用してGitHubページに展開できます。これを有効にするために、仕事に残されたコメントに従ってください。
注:M.CSSはDoxygen> = 1.9で動作しません。 1.8.20をインストールして、 docsターゲットを使用できます。問題#41および#48を参照してください。
LCOVは、GCCのgcovで計装された実行可能ファイルによって生成されたカバレッジ情報を処理するツールです。このカバレッジ情報は、プログラムのどの部分が実行されたかを確認するために使用できます。
ENABLE_COVERAGE変数が有効になっている場合、生成されたプロジェクトには、開発者モードでcoverageターゲットがあります。 CTESTの組み込みcoverageステップの代わりに別のターゲットが使用される理由は、必要なカスタマイズがないためです。このターゲットはテストの後に実行する必要があり、デフォルトでは<binary-dir>/coverage.infoでレポートと<binary-dir>/coverage_htmlディレクトリでHTMLレポートを生成します。
Windowsユーザーの場合、OpenCppCoverageと呼ばれる同様のツールを使用できます。このツールでは、生成されたcmakeディレクトリにサンプルスクリプトがあります。 Linux VMはGitHubアクションでより速く起動および実行されるため、カバレッジの提出に使用されるため、このスクリプトは例として残されています。
Clang-Formatは、Clang-Tidyに似たLLVMツールスイートの一部です。これは、スタイルガイドを実施するために使用できるコードリナーとコードフォーマッタです。
format-checkとformat-fixターゲットを使用して、開発者モードでコードをチェックおよび修正するために、2つのターゲットが利用可能になります。
注:プロジェクトは、Clang-Format 14に従ってフォーマットされたファイルを生成します。新しいバージョンまたは古いバージョンは、プロジェクトを異なる方法でフォーマットする場合があります。
CodeSpellは、主にソースコードでスペルエラーを見つけて修正するためのツールです。
spell-checkとspell-fixターゲットをそれぞれ使用して、開発者モードのスペルエラーを確認および修正するために、2つのターゲットが利用可能になります。
-pフラグを使用して、プロジェクトのパッケージマネージャーを選択できます。旗の引数は次のとおりです。
none :パッケージマネージャーの統合なし(デフォルト)conan :コナン統合vcpkg :VCPKG統合パッケージマネージャーを使用する場合、次のパッケージが生成されたプロジェクトで使用されます。
生成されたハッキングドキュメントを必ず読んで、依存関係を取得するために何をする必要があるかを確認してください。
cmake-init [--c] <path>-s 、 -eまたは-hフラグを渡して、それぞれ共有ライブラリ、実行可能ファイル、またはヘッダーのみのライブラリをすばやく作成できます。 --cスイッチは、生成されたプロジェクトのタイプをC ++の代わりにCに設定します。cmake-init --helpcmake-initはフリーソフトウェアです。意志で使用、研究、共有、改善できます。具体的には、Free Software Foundation、または(ライセンスのバージョン3、または(オプションで)後のバージョンのいずれかが公開しているGNU General Publicライセンスの条件に基づいて、再配布および/または変更できます。
ディレクトリcmake-init/templatesの内容は、Unlicenseライセンスを使用してライセンスされています。詳細については、そのディレクトリのライセンスを参照してください。