このページでは

C

CMake APIの変更点

以下の各サブセクションでは、Qt for MCUs v2.0におけるCMake関連の変更点を、v1.9と比較してまとめます。

CMake API のプレフィックス

Qt for MCUs v2.0 以降、CMake API の名称は命名規則に従うようになり、その目的がより理解しやすくなりました。API の意図されたアクセス方法に応じて、以下のプレフィックスが付与されています:

プレフィックス想定されるアクセス方法
QUL_*パブリック
QUL_PLATFORM_*パブリック(プラットフォーム開発者向け)
QUL_PRIVATE_*プライベート、内部用

名前が変更されたすべての API のリストについては、CMake の変更履歴を参照してください。

静的フォントエンジン

QUL_FONT_ENGINECMake ターゲットプロパティを使用して、フォントエンジンを明示的に選択できるようになりました。デフォルトでは「Static」に設定されているため、静的フォントエンジンを使用している場合は変更の必要はありません。

QUL_FONTS_DIR ターゲットプロパティは削除されたため、フォントを含むディレクトリを指定することはできなくなりました。該当する箇所をすべて、使用されるすべてのフォントファイルを明示的に列挙するQUL_FONT_FILESCMakeターゲットプロパティに置き換えてください。 デフォルトでは、QUL_FONT_FILES には Qt for MCUs に同梱されているすべてのフォントが含まれています。この既存のリストに追加するか、または置き換えることができます。

Qt for MCUs v1.9Qt for MCUs v2.0
set_property(TARGET <target> PROPERTY
    QUL_FONTS_DIR <path to fonts directory>
)
# Optional, QUL_FONT_ENGINE is set to "Static" by default
set_property(TARGET <target> PROPERTY QUL_FONT_ENGINE "Static")

set_property(TARGET <target> PROPERTY QUL_FONT_FILES
    <path to font file>
    <path to another font file>
)

Monotype Spark フォントエンジン

Qt for MCUs の以前のバージョンでは、Monotype Sparkフォントエンジンを使用するために、QUL_MONOTYPE_SPARK_FONT_FILE というCMakeターゲットプロパティを明示的に設定する必要がありました。Qt for MCUs 2.0以降では、QUL_FONT_ENGINEというCMakeターゲットプロパティを「Spark」に設定し、QUL_FONT_FILESにフォントファイルのパスを指定する必要があります。

Qt for MCUs v1.9Qt for MCUs v2.0
set_property(TARGET <target> PROPERTY
    QUL_MONOTYPE_SPARK_FONT_FILE <Monotype Spark font file>
)
set_target_properties(<Executable Target> PROPERTIES
    QUL_FONT_ENGINE "Spark"
    QUL_FONT_FILES <Monotype Spark font file>
)

注: Monotype Spark フォントエンジンを使用する場合 QUL_FONT_FILESには 1 つのエントリのみを含める必要があります。

Monotype Sparkフォントエンジンに固有だったその他のCMakeターゲットプロパティは、Qt for MCUs v2.0で名称が変更されました。削除されたこれらのプロパティの使用箇所を、次の表に記載されている対応する代替プロパティに置き換えてください。

Qt for MCUs 1.9Qt for MCUs 2.0
QUL_MONOTYPE_SPARK_CACHE_PRIMINGQUL_FONT_CACHE_PRIMING
QUL_MONOTYPE_SPARK_CACHE_SIZEQUL_FONT_CACHE_SIZE
QUL_MONOTYPE_SPARK_HEAP_SIZEQUL_FONT_HEAP_SIZE
QUL_MONOTYPE_SPARK_VECTOR_OUTLINESQUL_FONT_VECTOR_OUTLINES_DRAWING
QUL_MONOTYPE_SPARK_CACHE_NO_PREALLOCQUL_FONT_CACHE_PREALLOC
QUL_MONOTYPE_SPARK_HEAP_NO_PREALLOCQUL_FONT_HEAP_PREALLOC

QUL_FONT_CACHE_PREALLOCおよびQUL_FONT_HEAP_PREALLOC は、以前のQt for MCUs バージョンにおける対応するパラメータとは逆の値が指定されるようになっています。以下の例は、この変更点をよく示しています:

Qt for MCUs v1.9Qt for MCUs v2.0
set_target_properties(<Executable Target> PROPERTIES
    QUL_MONOTYPE_SPARK_CACHE_SIZE <size>
    QUL_MONOTYPE_SPARK_CACHE_PRIMING ON
    QUL_MONOTYPE_SPARK_HEAP_SIZE <size>
    QUL_MONOTYPE_SPARK_VECTOR_OUTLINES ON

    QUL_MONOTYPE_SPARK_CACHE_NO_PREALLOC ON
    QUL_MONOTYPE_SPARK_HEAP_NO_PREALLOC ON
)
set_target_properties(<Executable Target> PROPERTIES
    QUL_FONT_CACHE_SIZE <size>
    QUL_FONT_CACHE_PRIMING ON
    QUL_FONT_HEAP_SIZE <size>
    QUL_FONT_VECTOR_OUTLINES_DRAWING ON

    QUL_FONT_CACHE_PREALLOC OFF
    QUL_FONT_HEAP_PREALLOC OFF
)

リソースの保存設定

Qt for MCUs v2.0 以降、QUL_COPY_TO_RAMQUL_GLYPHS_COPY_TO_RAM 、およびQUL_FONT_FILES_COPY_TO_RAM のターゲットプロパティは削除されました。これらのプロパティのすべてのインスタンスを、次の表に示す対応する代替プロパティに置き換えてください。

Qt for MCUs v1.9Qt for MCUs v2.0
set_target_properties(<Executable Target> PROPERTIES
    QUL__COPY_TO_RAM "OnStartup"
)
set_target_properties(<target> PROPERTIES
    QUL_RESOURCE_CACHE_POLICY "OnStartup"
    QUL_RESOURCE_STORAGE_SECTION "QulResourceData"
    QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE 128
)
set_target_properties(<Executable Target> PROPERTIES
    QUL_GLYPHS_COPY_TO_RAM "OnStartup"
)
set_target_properties(<target> PROPERTIES
    QUL_GLYPHS_RESOURCE_CACHE_POLICY "OnStartup"
    QUL_GLYPHS_RESOURCE_STORAGE_SECTION "QulResourceData"
    QUL_GLYPHS_RESOURCE_RUNTIME_ALLOCATION_TYPE 128
)
set_target_properties(<Executable Target> PROPERTIES
    QUL_FONT_FILES_COPY_TO_RAM "OnStartup"
)
set_target_properties(<target> PROPERTIES
    QUL_FONT_FILES_RESOURCE_CACHE_POLICY "OnStartup"
    QUL_FONT_FILES_RESOURCE_STORAGE_SECTION "QulResourceData"
    QUL_FONT_FILES_RESOURCE_RUNTIME_ALLOCATION_TYPE 128
)

詳細については、以下を参照してください。

CMake ターゲットの名称変更

Qt for MCUs v2.0 では、すべての CMake ターゲットの名称が変更され、簡略化されています。名称が変更されたすべてのターゲットの一覧については、CMake の変更履歴を参照してください。

Qt for MCUs v1.9Qt for MCUs v2.0
target_link_libraries(<target> PRIVATE
    Qul::QuickUltraliteControlsStyleDefault
    Qul::QuickUltraliteTimeline
)
target_link_libraries(<target> PRIVATE
    Qul::Controls
    Qul::Timeline
)

特定のQtライセンスの下で利用可能です。
詳細はこちら。