Fedora Workstation における構築と設置

szmCt 説明書 | | | 目次/総目次 | 連絡先

2025-04-03 における Fedora Workstation 42 (Intel と AMD x86_64 システム向け)上でのビルド方法は次の通りです。
本稿の検証では Windows 用の VMWare Workstation 17 用の仮想マシンにインストールしたものに依ります。

openMSX の自動検出について

Fedora では「ソフトウェア」アプリにて openMSX 本体が二種類見つかります。どちらを設置しても szmCt は自動検出できるはずですが、見つからない場合は下記を指定してみてください。

必要なものを入手

他環境で用意する python3 と gettext 道具集合は Fedora では最初から使えるようです。下記に従いその他の開発ツールと CMake を入手してください。

システムアップデート

Fedora のインストール直後は、まず「ソフトウェア」アプリを起動し、アップデートをダウンロード・インストールしてください。

コンパイラや開発用ライブラリの入手

Fedora では dnf を使って多くの開発用ソフトウェアを入手できます。ターミナルから次のコマンド(三行)を入力してください。

sudo dnf clean all
sudo dnf update
sudo dnf install gcc gcc-c++ make gtk3-devel webkit2gtk4.1-devel libstdc++-static

CMake

CMake は 前述のソフトウェアアプリから検索すれば CMake GUI が見つかります。それをインストールしてください。

wxWidgets

Python3 や gettext 道具集合と同じく、改めて wxWidgets を入手する必要はありません。ただし szmCt は別の所に置いた wxWidgets を参照する方法を用意しています。そちらをご利用の場合のみご準備ください。

作業フォルダの作成

CMake を使った作業には、次の二つの特徴があります。

  1. 絶対パスで管理 = フォルダの名前を変えたら、それが親でも子でも作業はやり直しになります。
  2. 出力フォルダをソースフォルダから分離 = ソースフォルダの中には途中成果物も出力しません。

幸い本作を最初から build し直してもそれほど時間はかかりません。ですが余分な手間をなくすため、極力フォルダ名などは操作しなくていいように作業を進めてください。

親フォルダ

すべてを収める作業フォルダを先に作ります。各種ツールの動作を阻害しない場所ならどこでも問題はないでしょうが、空白文字の入ったパスは避けた方がよいかもしれません。
以後、新しく作ったこのフォルダを %作業フォルダ% と記します。適宜読み替えてください。

%作業フォルダ% の中に、以後の作業を通して次のフォルダを作ります。読み進めてください。

  1. szmCt_src
  2. szmCt_bin

ソースファイルの展開と空フォルダの用意

本書を含む本作 szmCt のフォルダ全体を %作業フォルダ%/szmCt_src複製してください(移動だと今お読みになっている分が移動できないので)。

次に新しい空のフォルダ %作業フォルダ%/szmCt_bin を作ってください。作らなくても後続の作業で cmake-gui が作ってくれますが、どちらにせよ szmCt_bin の部分は自分で入力することになります。

CMake 上の作業

次は CMake (cmake-gui) で szmCt_bin の中身を作る作業です。もちろんコマンドライン版 cmake で同じ結果となる操作を行っても構いません。

外部の wxWidgets を使う場合は先に注意点をご確認ください。

一回目の Configure

"Where is the source code:" の右欄に %作業フォルダ%/szmCt_src 、"Where to build the binaries:" の右欄に %作業フォルダ%/szmCt_bin を指定してください。

次に下の方にある Configure ボタンを一回動作させてください。"Specify the generator for this project" というダイアログが出てきます。上から "Unix Makefiles"、"Use default native compilers" という選択にして Finish ボタンを動作させてください。

しばらく待った後、その上の欄に赤項目が(そこそこ多めに)出てきます。

Libnotify は使わないので警告は無視して構いません。

赤項目の編集

szmCt 内蔵の wxWidgets をそのまま使う場合は cmake-gui 上で設定を変える必要はありません。次に進んでください。そうでない場合は前述の外部の wxWidgets を使う場合の内容に従ってください。

二回目の Configure 以降

再度 Configure ボタンを動作させると(問題がない限り)赤項目はすべて解消されます。続いて隣の Generate ボタンを一回。以後はターミナルからの作業となります。

ターミナルからの作業

構築

cd%作業フォルダ%/szmCt_bin に移動し cmake --build . -j2 でビルドできるようになります。 -j の後の数字は CPU のコア数に合わせるとよいでしょう。

ビルドが終わった時点で %作業フォルダ%/szmCt_bin/szmCt に実行ファイルができますので ./szmCt で起動できます。

設置と撤去

どのフォルダにいるときでも szmCt を起動できるようにするためには設置が必要です。

ビルド後に sudo cmake --install . または sudo make install で設置もできます(前者の方法のみ末尾にピリオドがあることに注意)。なお cmake としては設置したものの撤去はあまり考えていないそうで、撤去するには構築時にできた %作業フォルダ%/szmCt_bin/install_manifest.txt の存在を前提に sudo make uninstall を実行するという手段をとります。

sudo cmake --uninstall . というコマンドは使えません。また、上記の撤去手段も CMakeFiles.txt に一定の記載をすることで成り立っています。
参考: CMake / Community / Wiki / FAQ / Can I do "make uninstall" with CMake?