[C++] 10 Qt6 CMakeによるビルド

[M1 Mac, Big Sur 11.6.5]

リリース用appファイルの作成方法を調べていくうちに、Qt6ではqmakeではなくCmakeというビルド自動化ソフトの使用が推奨されていることが判明しました。

せっかくMakefileを使えるようになったのにまた難物が登場しました。

とりあえず実行ファイルを作成するところまでできたので記録しておきます。

1.CMakeを公式サイトからダウンロードしてインストールする。CMakeはGUIソフトですが、Contents内にあるバイナリを直接使います。

2.CMakeバイナリのあるところにパスを通す。

export PATH=$PATH:/Applications/CMake.app/Contents/bin

3.CMakeLists.txtを作成しプロジェクト直下に置く。

cmake_minimum_required(VERSION 3.16)

project(ImageInspector VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets)

add_executable(ImageInspector
    ImageInspector.cpp
)

target_link_libraries(ImageInspector PRIVATE Qt6::Widgets)

4.プロジェクト内にbuildディレクトリを作成し、カレントディレクトリをそこに移す。

5.以下コマンドでMakefileを作成する。

cmake ..

6.makeコマンドで実行ファイルを作成する。

[C++] 09 Qt6のappファイル作成 qmake

[M1 Mac, Big Sur 11.6.5]

Qt6アプリのappファイルをテスト作成しました。複雑なアプリは作らないので専用IDEのQt Creatorは使わないつもりです。

基本的にネット情報を参考に進めました。方法は以下の通りです。デフォルトでアイコンの設定がないのは意外でした。

1. HomebrewでQt6をインストールし、バイナリのあるところにパスを通す。

export PATH=$PATH:/opt/homebrew/Cellar/qt/6.2.3_1/bin

2.プロジェクトを作成する。icnsファイルはimagesディレクトリに置く。

3.プロジェクトディレクトリをカレントディレクトリにして、以下コマンドでMakefileとproファイルを作成する。

qmake -project && qmake

4.アイコンを設定するため、proファイルに以下内容を追記する。

# Qt6用
QT+=widgets

# アイコン設定
ICON = images/ImageInspector.icns
RESOURCE_FILES.files = $$ICON
RESOURCE_FILES.path = Contents/Resources
QMAKE_BUNDLE_DATA += RESOURCE_FILES

5.makeコマンドでappファイルを作成する。

6.appファイル内Contents直下のInfo.plistに以下内容を追記する。

<key>CFBundleIconFile</key>
<string>ImageInspector.icns</string>