CMake とは何ですか?
CMake は、C や C++ で書かれたソフトウェアをビルド、テスト、パッケージングするためのオープンソースのアプリケーションです。CMake は、CMakeLists と呼ばれるスクリプトを使用して、Unix と Windows の両方でビルドファイルを生成します。これは、動作するプラットフォームが限定され、大規模なプロジェクトでは作業が複雑になり、GUIを持たないGNU makeとは異なるものです。
CMake のインストール方法
CMakeのインストールは簡単です。しかし、その方法はバラバラです。ここでは、すべての情報を簡潔にまとめています。
前提条件
C++ コンパイラが必要で、Clang と GCC の両方が素晴らしい選択肢です。十分なスキルがあれば、自分でコンパイラをビルドすることもできます。これらのコンパイラをインストールするためのコマンドは以下の通りです。
Clangsudo apt install clang lldb lld
GCC
sudo apt install build-essential
Clang用のアプリケーションセット、LLVMデバッガ(ldb)、LLVMリンカ(lld)の3つをインストールする必要があります。Build essential は GCC のツールセットです。
1. VS Codeの統合
VS Code (Visual studio code) は、多くのプログラマーにとって主要なIDEです。アドオンやターミナルを利用することで、追加の言語やツールのインストールが簡単にできます。CMakeをVS codeに統合することは理想的であり、このツールを使用する最良の方法の1つです。
まず、VS codeをまだインストールしていない場合は、インストールします。アプリケーションは、スナップストアとウェブサイトで入手できます。次に、C/C++、CMake、CMakeツールのアドオンをインストールします。キーボードショートカット Ctrl
+ Shift
+ X
または左のツールバーのextensionsタブをクリックして、拡張機能にアクセスします。
CMakeやその他のツールがインストールされているかどうかは、ターミナルで --version
コマンドを使用して確認します。
2. スタンドアロンアプリケーション
別のテキストエディタを使いたい場合、CMakeはスタンドアロンアプリケーションとしてインストールすることもできます。Snap store や CMake の Web サイトで入手することができます。あなたがビルドして貢献したい場合は、Webサイト上でシェルスクリプトとソースコードが見つかります。
シェルスクリプト経由でインストールするには、プログラムとして実行できるようにする必要があります。 これはファイルマネージャのパーミッションを変更するか、以下のコマンドを使用することで可能です。sudo chmod +x file_path
ターミナルにファイルパスを入力し、スクリプトを実行してください。スクリプトは CMake ファイルを選択した場所に展開します。CMakeアプリケーションはbinフォルダーにあります。
CMake の設定方法
ドキュメントがないため、プログラミング初心者の方や上級ソフトウェアエンジニアの方でも CMake を使いこなすのは難しいかもしれません。CMakeの設定は、その時のプロジェクトによりますが、一般的にはGUIでC++コンパイラとリンカを選択します。また、ターミナルで以下のコマンドを使用して設定することもできます。
cmake -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=" -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld= -COMPILER_FLAGS="-fuse-ld=" -DCMAKE_EXE_LINKER="-flags="-linker
設定が完了したら、GUIまたはcmake --build
コマンドでビルドファイルを生成します。これで、ソースコードのバイナリがビルドされます。次に、ターミナルコマンドの cmake --install
を使って、ヘッダーファイル、ライブラリ、実行ファイルなど、これらのファイルをユーザーがアクセスできるようにします。VSのコードの中で作業している場合は、 --target
というインストールコマンドを使用します。
よくある質問
オープンソースプロジェクトに C++ のコードを提供するにはどうしたらいいですか?
C++に慣れていない場合、CMakeやプログラミングについて学ぶために貢献できるプロジェクトを見つけるのは難しいかもしれません。GitHub はそのための素晴らしい場所です。トピックのリンクを使ったり、検索エンジンでGitHubトピックを検索することで、興味のあるプロジェクトを見つけることができます。
CMakeを使ってC#のコードをコンパイルすることはできますか?
C#とC++は近いように見えるかもしれませんが、C#はVSコードでJITコンパイラを使用しています。JIT(ジャストインタイム)とは、C++、C、Fortranのように実行前ではなく、アプリケーションの実行中にコードがコンパイルされることを意味します。その結果、CMakeはこれら3つのプログラミング言語のみをサポートしています。
CMakeはまだ積極的にサポートされていますか?
キットウェアは、CMakeの背後にある会社、まだサポートとアプリケーションを更新します。CMakeはまた、GitHubで活発なコミュニティを持っているので、バグやセキュリティについて心配することはないでしょう。
画像引用元:Needpix。すべてのスクリーンショットはNathan Meyerによるものです。