このページでは

C

CMake API の変更

Qt for MCUs v2.0 における v1.9 からの CMake 関連の変更点をまとめます。

CMake API の接頭辞

Qt for MCUs v2.0 以降、CMake API 名は命名方針に従っており、その目的を理解しやすくなっています。API のアクセス目的に応じて、以下の接頭辞があります:

プレフィックス意図するアクセス
QUL_*パブリック
QUL_PLATFORM_*公開、プラットフォーム開発者向け
QUL_PRIVATE_*非公開、内部向け

名称変更されたAPIの一覧はCMake changelogを参照のこと。

静的フォントエンジン

QUL_FONT_ENGINECMake ターゲットプロパティを使って、明示的にフォントエンジンを選択できるようになりました。デフォルトでは "Static" に設定されているため、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_ENGINECMake ターゲットプロパティに "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_PREALLOCQUL_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_RAMQUL_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 changelogを参照してください。

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
)


詳細はこちら。