「Qtの設定 - CMake」の版間の差分
(ページの作成:「== 概要 == CMakeは、ビルドマネジメントツールであり、主に、C/C++等のプログラム言語のビルドに使用される。<br> <br> CMakeが存在する以前では、C系言語のビルドには多数のビルドシステム(MakefileやNinjaやIDE等)が乱立していた。<br> これを隠蔽して、包括的に扱える様にしたものがCMakeである。<br> <br> また、CMakeには、CUI版とGUI版が存在する。<br> <br><br> =…」) |
|||
27行目: | 27行目: | ||
endif() | endif() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | |||
== qt5_create_translation == | |||
TSファイルやTSファイルがあるディレクトリを指定して、Qt LinguistからTSファイルを生成する。<br> | |||
TSファイルは、ビルドディレクトリに保存される同じベースネームのQMファイルにコンパイルされる。<br> | |||
<br> | |||
生成されたQMファイルへのパスは、<変数名>に追加される。<br> | |||
<br> | |||
作成または更新する翻訳ファイルの拡張子は<code>.ts</code>である必要がある。<br> | |||
与えられたTSファイルのパスが相対パスの場合、現在のプロジェクトのトップディレクトリからの相対パスで解決される。<br> | |||
<br> | |||
TSファイルが存在しない場合、<code>qt5_create_translation</code>は何もしない。<br> | |||
<br> | |||
<code>lupdate</code>コマンドは、ソースファイルまたはディレクトリを入力として受け付ける。<br> | |||
<オプション>は、<code>lupdate</code>コマンドの実行時に使用するオプションを指定することができる。<br> | |||
設定可能なオプションはlupdateのドキュメントに記載されています。<br> | |||
qt5_create_translation(<変数名> <TSファイル 1> <TSファイル 2> <TSファイル 3> ... <オプション>) | |||
# 例. | |||
# まず、プロジェクトのトップディレクトリにあるTSファイルを検索する。(helloworld_en.tsファイルとhelloworld_ja.tsファイル) | |||
# 次に、<code>lupdate</code>コマンドを実行してTSファイルをコンパイルすることにより、helloworld_en.qmファイルとhelloworld.ja.qmファイルを生成する。 | |||
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} helloworld_en.ts helloworld_de.ts) | |||
<br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Qt]] | [[カテゴリ:Qt]] |
2022年11月30日 (水) 23:26時点における版
概要
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
コマンドの実行時に使用するオプションを指定することができる。
設定可能なオプションは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)