📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の15版が非表示) | |||
| 42行目: | 42行目: | ||
==== ソースコードからインストールする場合 ==== | ==== ソースコードからインストールする場合 ==== | ||
CMake GUIをインストールする場合、ビルドに必要なライブラリをインストールする。<br> | CMake GUIをインストールする場合、ビルドに必要なライブラリをインストールする。<br> | ||
sudo zypper install libQt5Core-devel libQt5Gui-devel libQt5Widgets-devel | sudo zypper install libcurl-devel libbz2-devel xz-devel libexpat-devel zlib-devel libarchive-devel libuv-devel \ | ||
libzstd-devel jsoncpp-devel rhash-devel libnghttp2-devel python3-Sphinx \ | |||
# Qt 6を使用する場合 | |||
qt6-core-devel qt6-gui-devel qt6-widgets-devel | |||
# Qt 5を使用する場合 | |||
libQt5Core-devel libQt5Gui-devel libQt5Widgets-devel | |||
<br> | <br> | ||
cmake-<バージョン>.tar.gzファイル(ソースコード)を解凍する。<br> | cmake-<バージョン>.tar.gzファイル(ソースコード)を解凍する。<br> | ||
| 55行目: | 62行目: | ||
../configure --qt-gui --prefix=<CMakeのインストールディレクトリ> | ../configure --qt-gui --prefix=<CMakeのインストールディレクトリ> | ||
または | または | ||
../bootstrap --qt-gui --prefix=<CMakeのインストールディレクトリ> --parallel=$(nproc) | ../bootstrap --qt-gui --prefix=<CMakeのインストールディレクトリ> --sphinx-html --sphinx-man --parallel=$(nproc) | ||
# CMake GUIをインストールしない場合 | # CMake GUIをインストールしない場合 | ||
../configure --prefix=<CMakeのインストールディレクトリ> | ../configure --prefix=<CMakeのインストールディレクトリ> | ||
または | または | ||
../bootstrap --prefix=<CMakeのインストールディレクトリ> --parallel=$(nproc) | ../bootstrap --prefix=<CMakeのインストールディレクトリ> --sphinx-html --sphinx-man --parallel=$(nproc) | ||
gmake -j $(nproc) | gmake -j $(nproc) | ||
| 91行目: | 98行目: | ||
<br><br> | <br><br> | ||
== Extra CMake Module(ECM)のインストール == | == Extra CMake Module (ECM) のインストール == | ||
追加のCMakeモジュールパッケージ (ECM) は、CMakeが提供するモジュールを拡張するものである。<br> | |||
ECMは、KDEソフトウェア全体におけるCMakeスクリプトの重複を削減することであるが、CMakeビルドシステムを利用するあらゆるソフトウェアに有用となるよう設計されている。<br> | |||
<br> | |||
ECMには、以下に示すものが含まれている。<br> | |||
* find_packageコマンドが一般的なソフトウェアを検索するために使用するモジュール | |||
* CMakeLists.txtファイル内で直接使用して一般的なタスクを実行できるモジュール | |||
* ユーザがコマンドラインで指定する必要があるツールチェーンファイル | |||
* KDEコミュニティが開発するソフトウェアで使用される一般的なビルド設定 | |||
<br> | |||
[https://github.com/KDE/extra-cmake-modules/tags Extra CMake ModuleのGithub]にアクセスして、ソースコードをダウンロードする。<br> | [https://github.com/KDE/extra-cmake-modules/tags Extra CMake ModuleのGithub]にアクセスして、ソースコードをダウンロードする。<br> | ||
ダウンロードしたファイルを解凍する。<br> | ダウンロードしたファイルを解凍する。<br> | ||
| 98行目: | 114行目: | ||
<br> | <br> | ||
次に、Extra CMake Moduleのビルドに必要なライブラリをインストールする。<br> | 次に、Extra CMake Moduleのビルドに必要なライブラリをインストールする。<br> | ||
sudo zypper install sphinx libsphinxclient-devel | sudo zypper install reuse sphinx libsphinxclient-devel \ | ||
libQt5Core-devel libqt5-qttools libQt5QuickControls2-devel libqt5-linguist-devel | |||
# Qt 6を使用する場合 | |||
python311-Sphinx python311-PyQt6-devel qt6-core-devel qt6-tools qt6-linguist-devel | |||
# Qt 5を使用する場合 | |||
python3-Sphinx python3-qt5-devel libQt5Core-devel libqt5-qttools libQt5QuickControls2-devel libqt5-linguist-devel | |||
<br> | <br> | ||
ビルド用ディレクトリを作成して、Extra CMake Moduleをビルドおよびインストールする。<br> | ビルド用ディレクトリを作成して、Extra CMake Moduleをビルドおよびインストールする。<br> | ||
| 105行目: | 126行目: | ||
mkdir build && cd build | mkdir build && cd build | ||
cmake -DCMAKE_INSTALL_PREFIX=<CMakeのインストールディレクトリ> .. | cmake -DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_INSTALL_PREFIX=<CMakeのインストールディレクトリ> \ | |||
-DBUILD_QTHELP_DOCS=ON \ | |||
.. | |||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br><br> | |||
== ソース外ビルド == | |||
ソースコードディレクトリとビルドディレクトリが異なることをソース外ビルドと呼ぶ。<br> | |||
これは、ソースコードとビルドの出力を分離することにより、開発者が同じソースコードディレクトリに複数のビルドディレクトリを作成できるという利点もあり、<br> | |||
デバッグバージョンとリリースバージョン等の異なるオプションでビルドをセットアップすることができる。<br> | |||
<br> | |||
ビルドディレクトリをソースツリーの外側に配置することを推奨する。<br> | |||
<br><br> | <br><br> | ||
| 118行目: | 150行目: | ||
以下のように、CMakeコマンドを実行する。<br> | 以下のように、CMakeコマンドを実行する。<br> | ||
引数には、ソースコードのルートディレクトリ(CMakeLists.txtファイルがあるディレクトリ)を指定する。<br> | 引数には、ソースコードのルートディレクトリ(CMakeLists.txtファイルがあるディレクトリ)を指定する。<br> | ||
cmake < | cmake -G <プロジェクトジェネレータ 例. "Unix Makefiles"やNinja等> <CMakeLists.txtファイルがあるディレクトリ> | ||
cmake --build <ビルドディレクトリ> --config <Debug または Release> --target <ターゲット名> | |||
<br> | <br> | ||
Makefileが作成されるので、それを使用してビルドを行う。<br> | Makefileが作成されるので、それを使用してビルドを行う。<br> | ||
make -j | make -j $(nproc) | ||
make install # ただし、CMakeLists.txtファイルに設定が記述されていることが必要 | make install # ただし、CMakeLists.txtファイルに設定が記述されていることが必要 | ||
<br><br> | <br><br> | ||
| 134行目: | 167行目: | ||
<br> | <br> | ||
CコンパイラまたはC++コンパイラを変更するには、以下のオプションを付加する。<br> | CコンパイラまたはC++コンパイラを変更するには、以下のオプションを付加する。<br> | ||
-DCMAKE_C_COMPILER=<Cコンパイラのパス> -DCMAKE_CXX_COMPILER=<C++コンパイラのパス> | |||
<br> | |||
CコンパイラまたはC++コンパイラのフラグを変更するには、以下のオプションを付加する。<br> | |||
-DCMAKE_C_FLAGS="-std=c17" -DCMAKE_CXX_FLAGS="-std=c++17" | |||
<br> | <br> | ||
オプション設定を対話式に変更する場合は、<code>ccmake</code>コマンドを使用する。<br> | オプション設定を対話式に変更する場合は、<code>ccmake</code>コマンドを使用する。<br> | ||
| 173行目: | 209行目: | ||
キャッシュ変数<code>CMAKE_CONFIGURATION_TYPES</code>に<code>Release;RelWithDebInfo</code>のように値を設定する。<br> | キャッシュ変数<code>CMAKE_CONFIGURATION_TYPES</code>に<code>Release;RelWithDebInfo</code>のように値を設定する。<br> | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:Qt]] | ||