Qtの設定 - CMake

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2022年12月1日 (木) 00:10時点におけるWiki (トーク | 投稿記録)による版 (→‎qt5_create_translation)
ナビゲーションに移動 検索に移動

概要

CMakeは、ビルドマネジメントツールであり、主に、C/C++等のプログラム言語のビルドに使用される。

CMakeが存在する以前では、C系言語のビルドには多数のビルドシステム(MakefileやNinjaやIDE等)が乱立していた。
これを隠蔽して、包括的に扱える様にしたものがCMakeである。

また、CMakeには、CUI版とGUI版が存在する。


CMakeコマンドの停止

message関数において、第1引数にFATAL_ERRORを指定することにより、エラーメッセージを出力して停止する。

 message(FATAL_ERROR "cmake to terminate.")


また、message関数において、第1引数にSEND_ERRORを指定することにより、エラーメッセージを出力して動作を継続する。

 message(SEND_ERROR "Continue cmake.")


以下の例では、Linux以外のOSの場合は、エラーメッセージを出力して、cmakeコマンドを停止している。

 if(NOT (UNIX AND NOT APPLE))
    message(FATAL_ERROR "ERROR! Only Linux can build this software.")
 else()
    set(LINUX TRUE)
 endif()



qt5_create_translation

TSファイルやTSファイルがあるディレクトリを指定して、Qt LinguistからTSファイルを生成する。
TSファイルは、ビルドディレクトリに保存される同じベースネームのQMファイルにコンパイルされる。

生成されたQMファイルへのパスは、<変数名>に追加される。

作成または更新する翻訳ファイルの拡張子は.tsである必要がある。
与えられたTSファイルのパスが相対パスの場合、現在のプロジェクトのトップディレクトリからの相対パスで解決される。

TSファイルが存在しない場合、qt5_create_translationは何もしない。

lupdateコマンドは、ソースファイルまたはディレクトリを入力として受け付ける。
<オプション>は、lupdateコマンドの実行時に使用するオプションを指定することができる。
指定可能なオプションは、Qtの設定 - Qt Linguist#lupdateコマンドを参照すること。

 qt5_create_translation(<変数名> <TSファイル 1> <TSファイル 2> <TSファイル 3> ... <オプション>)
 
 # 例.
 # まず、プロジェクトのトップディレクトリにあるTSファイルを検索する。(helloworld_en.tsファイルとhelloworld_ja.tsファイル)
 # 次に、lupdateコマンドを実行してTSファイルをコンパイルすることにより、helloworld_en.qmファイルとhelloworld.ja.qmファイルを生成または更新する。
 qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} helloworld_en.ts helloworld_de.ts)