Green Hills MULTI

始于版本 3.3。

始于版本 3.15: Linux 支持。

生成 Green Hills MULTI 项目文件(实验中,正在进行)。

生成系统预先确定构建配置设置,可通过 CMAKE_BUILD_TYPE 变量进行控制。

平台选择

始于版本 3.13。

变量 GHS_PRIMARY_TARGET 可用于选择目标平台。

设置项目文件中的 primaryTarget 条目。

例如

  • cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt

否则,primaryTarget 将由 CMAKE_GENERATOR_PLATFORMGHS_TARGET_PLATFORM 的值构成。默认为 arm_integrity.tgt

  • CMAKE_GENERATOR_PLATFORM 变量可以设置,也许通过 cmake -A 选项。

    使用了 armppc86 等典型值。
  • 变量 GHS_TARGET_PLATFORM 可以设置,也许通过 cmake -D 选项。

    默认为 integrity
    通常值是 integritythreadxuvelosityvelosityvxworksstandalone

例如

  • cmake -G "Green Hills MULTI" 对于 arm_integrity.tgt

  • cmake -G "Green Hills MULTI" -A 86 对于 86_integrity.tgt

  • cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standalone 适用于 arm_standalone.tgt

  • cmake -G "Green Hills MULTI" -A ppc -D GHS_TARGET_PLATFORM=standalone 适用于 ppc_standalone.tgt

工具集选择

始于版本 3.13。

生成器会搜索最新的编译器,也可以给予其使用某些位置的权限。 GHS_TOOLSET_ROOT 是检查最新编译器的目录。

  • 可以使用 CMAKE_GENERATOR_TOOLSET 选项(可能通过 cmake -T 选项)指定工具集的位置。绝对路径和相对路径均有效。路径相对于 GHS_TOOLSET_ROOT

  • 可以使用 cmake -D 选项设置 GHS_TOOLSET_ROOT 变量。

    用于工具集搜索和相对路径的根路径。
    默认为 Windows 系统中的 C:/ghs 或 Linux 系统中的 /usr/ghs

例如,设置特定的编译器

  • cmake -G "Green Hills MULTI" -T comp_201754 适用于 /usr/ghs/comp_201754

  • cmake -G "Green Hills MULTI" -T comp_201754 -D GHS_TOOLSET_ROOT=/opt/ghs 适用于 /opt/ghs/comp_201754

  • cmake -G "Green Hills MULTI" -T /usr/ghs/comp_201554

  • cmake -G "Green Hills MULTI" -T C:/ghs/comp_201754

例如,搜索最新的编译器

  • cmake -G "Green Hills MULTI" 用于搜索 /usr/ghs

  • cmake -G "Green Hills MULTI -D GHS_TOOLSET_ROOT=/opt/ghs" 用于搜索 /opt/ghs

注意

CMAKE_GENERATOR_TOOLSET 应使用 CMake 样式路径。

操作系统和 BSP 选择

始于版本 3.3。

某些目标平台(如 Integrity)要求使用操作系统。可以使用 GHS_OS_DIR 显式设置 RTOS 目录路径。否则, GHS_OS_ROOT 将被用于搜索最新的 Integrity RTOS。

如果目标平台(例如 Integrity)需要 BSP 名称,那么它可以通过 GHS_BSP_NAME 变量设置。

  • GHS_OS_DIRGHS_OS_DIR_OPTION

    设置项目文件中的 -os_dir 条目。
    GHS_OS_DIR_OPTION 默认值为 -os_dir

    在 3.15 版中新增:GHS_OS_DIR_OPTION 变量。

    例如

    • cmake -G "Green Hills MULTI" -D GHS_OS_DIR=/usr/ghs/int1144

  • GHS_OS_ROOT

    RTOS 搜索的根路径。
    默认为 Windows 系统中的 C:/ghs 或 Linux 系统中的 /usr/ghs

    例如

    • cmake -G "Green Hills MULTI" -D GHS_OS_ROOT=/opt/ghs

  • GHS_BSP_NAME

    设置项目文件中的 -bsp 条目。
    对于 integrity 平台,默认为 sim<arch>

    例如

    • cmake -G "Green Hills MULTI" 用于在 arm_integrity.tgt 上的 simarm

    • cmake -G "Green Hills MULTI" -A 86 用于在 86_integrity.tgt 上的 sim86

    • cmake -G "Green Hills MULTI" -A ppc -D GHS_BSP_NAME=sim800 用于在 ppc_integrity.tgt 上的 sim800

    • cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt -D GHS_BSP_NAME=fsl-t1040 用于在 ppc_integrity.tgt 上的 fsl-t1040

目标属性

在 3.14 版中新增。

可以使用以下属性

MULTI 项目变量

始于版本 3.3。

可以使用以下变量添加自定义文件和宏

  • GHS_CUSTOMIZATION - 到自定义文件的 CMake 路径名。

  • GHS_GPJ_MACROS - 宏的 CMake 列表。

注意

从 CMake 3.31.0 开始,此生成器被视为实验性质,并且仍处于开发阶段。随着生成器的成熟,CMake 的未来版本可能会做出重大更改。