2025-04-03 における Fedora Workstation 42 (Intel と AMD x86_64 システム向け)上でのビルド方法は次の通りです。
本稿の検証では Windows 用の VMWare Workstation 17 用の仮想マシンにインストールしたものに依ります。
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
webkit2gtk4.1-devel は wxWidgets における wxWebView Class の wxWEBVIEW_WEBKIT2 (GTK3) に対応したものです。webkit2gtk4-devel と書かれていますが、本稿上記のとおり現在は 4.1 になっているようなので、将来 4.2, 4.3 ... と変わるかもしれません。CMake は 前述のソフトウェアアプリから検索すれば CMake GUI が見つかります。それをインストールしてください。
Python3 や gettext 道具集合と同じく、改めて wxWidgets を入手する必要はありません。ただし szmCt は別の所に置いた wxWidgets を参照する方法を用意しています。そちらをご利用の場合のみご準備ください。
CMake を使った作業には、次の二つの特徴があります。
幸い本作を最初から build し直してもそれほど時間はかかりません。ですが余分な手間をなくすため、極力フォルダ名などは操作しなくていいように作業を進めてください。
すべてを収める作業フォルダを先に作ります。各種ツールの動作を阻害しない場所ならどこでも問題はないでしょうが、空白文字の入ったパスは避けた方がよいかもしれません。
以後、新しく作ったこのフォルダを %作業フォルダ% と記します。適宜読み替えてください。
%作業フォルダ% の中に、以後の作業を通して次のフォルダを作ります。読み進めてください。
szmCt_srcszmCt_bin本書を含む本作 szmCt のフォルダ全体を %作業フォルダ%/szmCt_src に複製してください(移動だと今お読みになっている分が移動できないので)。
次に新しい空のフォルダ %作業フォルダ%/szmCt_bin を作ってください。作らなくても後続の作業で cmake-gui が作ってくれますが、どちらにせよ szmCt_bin の部分は自分で入力することになります。
次は CMake (cmake-gui) で szmCt_bin の中身を作る作業です。もちろんコマンドライン版 cmake で同じ結果となる操作を行っても構いません。
外部の wxWidgets を使う場合は先に注意点をご確認ください。
"Where is the source code:" の右欄に %作業フォルダ%/szmCt_src 、"Where to build the binaries:" の右欄に %作業フォルダ%/szmCt_bin を指定してください。
次に下の方にある ボタンを一回動作させてください。"Specify the generator for this project" というダイアログが出てきます。上から "Unix Makefiles"、"Use default native compilers" という選択にして ボタンを動作させてください。
しばらく待った後、その上の欄に赤項目が(そこそこ多めに)出てきます。
Libnotify は使わないので警告は無視して構いません。
szmCt 内蔵の wxWidgets をそのまま使う場合は cmake-gui 上で設定を変える必要はありません。次に進んでください。そうでない場合は前述の外部の wxWidgets を使う場合の内容に従ってください。
再度 ボタンを動作させると(問題がない限り)赤項目はすべて解消されます。続いて隣の ボタンを一回。以後はターミナルからの作業となります。
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?