多くの理由から、Linuxは常にプログラミングの主流であるが、ほとんどのPCユーザーはWindowsを使用している。このため、Windowsプラットフォームでテストする必要があるプログラマは、プラットフォーム間の切り替えがほぼ不可能というジレンマに陥っています。そこで、CMakeの出番です。

CMake とは何ですか?

CMake は、C や C++ で書かれたソフトウェアをビルド、テスト、パッケージングするためのオープンソースのアプリケーションです。CMake は、CMakeLists と呼ばれるスクリプトを使用して、Unix と Windows の両方でビルドファイルを生成します。これは、動作するプラットフォームが限定され、大規模なプロジェクトでは作業が複雑になり、GUIを持たないGNU makeとは異なるものです。

CMake のインストール方法

CMakeのインストールは簡単です。しかし、その方法はバラバラです。ここでは、すべての情報を簡潔にまとめています。

前提条件

C++ コンパイラが必要で、Clang と GCC の両方が素晴らしい選択肢です。十分なスキルがあれば、自分でコンパイラをビルドすることもできます。これらのコンパイラをインストールするためのコマンドは以下の通りです。

Clang

sudo 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 というインストールコマンドを使用します。

makefileに書いた内容に応じて、1つまたは複数の実行ファイルにファイルを整理します。CMake の古いバージョンを使っている場合は、make install を使ってください。

よくある質問

オープンソースプロジェクトに 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によるものです。

Akira
Akiraは情熱的なゲーマーであり、製品レビュアーです。ゲームをしていないときは、最新のゲーミングアクセサリーを試したり、製品のレビューをしていることが多い。彼の分かりやすいスタイルは、ゲーマーが自分のニーズに最も適した製品を簡単に判断できるようにするものです。また、技術的な問題にも精通しており、その解決方法も知っている。