

小林聡美
名前:小林 聡美(こばやし さとみ) ニックネーム:さと・さとみん 年齢:25歳 性別:女性 職業:季節・暮らし系ブログを運営するブロガー/たまにライター業も受注 居住地:東京都杉並区・阿佐ヶ谷の1Kアパート(築15年・駅徒歩7分) 出身地:長野県松本市(自然と山に囲まれた町で育つ) 身長:158cm 血液型:A型 誕生日:1999年5月12日 趣味: ・カフェで執筆&読書(特にエッセイと季節の暮らし本) ・季節の写真を撮ること(桜・紅葉・初雪など) ・和菓子&お茶めぐり ・街歩きと神社巡り ・レトロ雑貨収集 ・Netflixで癒し系ドラマ鑑賞 性格:落ち着いていると言われるが、心の中は好奇心旺盛。丁寧でコツコツ型、感性豊か。慎重派だけどやると決めたことはとことん追求するタイプ。ちょっと天然で方向音痴。ひとり時間が好きだが、人の話を聞くのも得意。 1日のタイムスケジュール(平日): 時間 行動 6:30 起床。白湯を飲んでストレッチ、ベランダから天気をチェック 7:00 朝ごはん兼SNSチェック(Instagram・Xに季節の写真を投稿することも) 8:00 自宅のデスクでブログ作成・リサーチ開始 10:30 近所のカフェに移動して作業(記事執筆・写真整理) 12:30 昼食。カフェかコンビニおにぎり+味噌汁 13:00 午後の執筆タイム。主に記事の構成づくりや装飾、アイキャッチ作成など 16:00 夕方の散歩・写真撮影(神社や商店街。季節の風景探し) 17:30 帰宅して軽めの家事(洗濯・夕飯準備) 18:30 晩ごはん&YouTube or Netflixでリラックス 20:00 投稿記事の最終チェック・予約投稿設定 21:30 読書や日記タイム(今日の出来事や感じたことをメモ) 23:00 就寝前のストレッチ&アロマ。23:30に就寝
cmakeとMakefileの違いを理解するための基礎知識
Makefileは長い歴史を持つビルドの道具です。開発者が自分のプログラムを正しく動かすための手順を、一つずつ指示書のように書きます。小さなプロジェクトだとこれで十分ですが、大きなプロジェクトになると管理が難しくなります。Makefileでは、各ファイルの依存関係やビルドの順序を自分で細かく書かなければなりません。コードが増えると、別の人が見ても何をどう作っているのか把握するのが大変になります。ここで登場するのがCMakeです。
CMakeは「メタビルドシステム」と呼ばれ、複数のプラットフォームやIDEに対応する“指揮者”的存在です。CMakeLists.txtという設定ファイルに、どのファイルがどの宛先でどうビルドされるべきかを高レベルで記述します。実際のビルドはCMakeが解釈して、各環境に合わせたMakefileやVisual Studioのプロジェクトファイルを生成します。これにより、同じソースコードをWindowsでもmacOSでもLinuxでも同じ手順でビルドできる可能性が広がります。
初心者のときは混乱することもありますが、原則を覚えると理解が進みます。Makefileは“今ある手順”を細かく書くのに対し、CMakeは“どうあるべきか”を宣言しておく道具で、将来的な移植性やチーム開発の拡張性を高めてくれます。以下の表では両者の主要な違いをざっくり比較します。
このように、 Makefileは“今ある手順を正確に書く”のに対し、CMakeは“どの環境でも同じように動くように準備する”ことを得意とします。理解のコツは、まず小さなプロジェクトでCMakeの基本を体感し、次に依存関係の扱い方や変数の扱い方を学ぶことです。
また、現場ではCMakeを使っている企業が多く、CI(継続的インテグレーション)やパッケージングの自動化にも強い味方になります。
なぜ違いが生まれたのか
歴史的には、MakefileはUNIXの流れの中で育ち、最初はシンプルな依存関係の解決だけを目的としていました。対してCMakeは、時代とともに増えるプラットフォームやIDEの対応を考え、「高レベルな記述で下層のビルドシステムを自動生成する」考え方から生まれました。つまり、Makefileは細かな手順の積み木、CMakeは組み立ての設計図と考えると理解しやすいです。
実務での使い分けと実例
実務では、シンプルなプログラムならMakefileでも十分ですが、複数のプラットフォームに対応する大規模なプロジェクトではCMakeを使うと楽になります。例えば、ライブラリを作って他の人にも使ってもらう場合、CMakeを使ってビルド手順を複数環境で統一すると、パッケージ化やCIの設定が楽になります。もちろん小さなプロジェクトでもCMakeを学ぶ価値はあります。具体的には、CMakeLists.txtにプロジェクト名やソースファイル、依存ライブラリを宣言し、ビルドディレクトリを分離しておくと、後でバージョン管理や清掃作業が楽になります。これらの実務のコツを身につけることで、チームでの開発効率が上がるのを実感できるはずです。
中学生にもわかるやさしい言い換え
Makefileは「料理のレシピ帳を1冊ずつ自分で作る感じ」です。材料と手順を細かく書く分だけ、誰が作っても同じ料理を作れますが、よく手順を忘れたり、材料が変わると大変です。一方、CMakeは「設計図と道具箱を用意しておく感じ」です。設計図に書いた通り、いろんな道具箱を作るプログラムを自動で用意してくれる。だから新しいPCを使っても、作り方が同じになる確率が高いのです。慣れると、作る人が増えても混乱せずプロジェクトを回せます。
よく友だちと話していると、 cmake って何がそんなにすごいの?と聞かれる。僕はこう答える。 cmake は、ただのビルド設定ツールではなく、ソースを“どう組み立てるか”の設計図を作るための道具だと。最初は難しく感じるけれど、理解が進むと“移植性”と“再現性”の力強さが見えてくる。例えば新しいPCを買ってきても、同じ手順でコマンドを叩けば同じ成果物ができる。もちろん、どのツールを使うべきかはプロジェクト次第。僕らの生活に例えるなら、Makefileが自分の手元の計算機でレゴを組み立てる説明書、CMakeが家族全員で組み立てる共通の設計図みたいなもの。こんな風に、場と規模に合わせて使い分けられるのが魅力だと思う。





















