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_* | 私有,内部 |
查看 CMake 更改日志 以获取所有重命名 API 的列表。
字体相关 API
静态字体引擎
现在可以显式使用 QUL_FONT_ENGINE CMake 目标属性来选择字体引擎。默认设置为 "Static",因此如果您正在使用静态字体引擎,则无需进行任何更改。
已删除 QUL_FONTS_DIR
目标属性,因此不再可能提供一个包含字体的目录。将所有此类实例替换为 QUL_FONT_FILES CMake 目标属性,显式列出所有使用的字体文件。默认情况下,QUL_FONT_FILES 包含 Qt for MCUs 交付的所有字体。您可以选择追加现有列表或替换它。
Qt for MCUs v1.9 | Qt 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 以前的版本中,需要显式设置 QUL_MONOTYPE_SPARK_FONT_FILE
CMake 目标属性才能使用 Monotype Spark 字体引擎。自 Qt for MCUs 2.0 以来,您应将 QUL_FONT_ENGINE CMake 目标属性设置为 "Spark",并设置 QUL_FONT_FILES 为字体文件路径。
Qt for MCUs v1.9 | Qt 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 必须包含单个条目。
Qt for MCUs v2.0 中对特定于 Monotype Spark 字体引擎的 CMake 目标属性进行了重命名。用以下表格中列出的对应替代品替换已删除属性的实例
Qt for MCUs 1.9 | Qt for MCUs 2.0 |
---|---|
QUL_MONOTYPE_SPARK_CACHE_PRIMING | QUL_FONT_CACHE_PRIMING |
QUL_MONOTYPE_SPARK_CACHE_SIZE | QUL_FONT_CACHE_SIZE |
QUL_MONOTYPE_SPARK_HEAP_SIZE | QUL_FONT_HEAP_SIZE |
QUL_MONOTYPE_SPARK_VECTOR_OUTLINES | QUL_FONT_VECTOR_OUTLINES_DRAWING |
QUL_MONOTYPE_SPARK_CACHE_NO_PREALLOC | QUL_FONT_CACHE_PREALLOC |
QUL_MONOTYPE_SPARK_HEAP_NO_PREALLOC | QUL_FONT_HEAP_PREALLOC |
QUL_FONT_CACHE_PREALLOC 和 QUL_FONT_HEAP_PREALLOC 与上一个 Qt for MCUs 版本中的对应值相反。以下示例很好地说明了这一变化
Qt for MCUs v1.9 | Qt 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_RAM
、QUL_GLYPHS_COPY_TO_RAM
和 QUL_FONT_FILES_COPY_TO_RAM
。请将所有这些属性的实例替换为下表中显示的相应替代品。
Qt for MCUs v1.9 | Qt 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 ) |
更多信息,请参阅
- QUL_RESOURCE_CACHE_POLICY
- QUL_RESOURCE_STORAGE_SECTION
- QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE
- QUL_GLYPHS_RESOURCE_CACHE_POLICY
- QUL_GLYPHS_RESOURCE_STORAGE_SECTION
- QUL_GLYPHS_RESOURCE_RUNTIME_ALLOCATION_TYPE
- QUL_FONT_FILES_RESOURCE_CACHE_POLICY
- QUL_FONT_FILES_RESOURCE_STORAGE_SECTION
- QUL_FONT_FILES_RESOURCE_RUNTIME_ALLOCATION_TYPE
重命名 CMake 目标
在 Qt for MCUs v2.0 中,所有 CMake 目标均已重命名和简化。请参阅CMake 更新日志,获取所有重命名目标列表。
Qt for MCUs v1.9 | Qt for MCUs v2.0 |
---|---|
target_link_libraries(<target> PRIVATE Qul::QuickUltraliteControlsStyleDefault Qul::QuickUltraliteTimeline ) | target_link_libraries(<target> PRIVATE Qul::Controls Qul::Timeline ) |
在某些 Qt 许可下可用。
了解更多。