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_PLATFORM 和 GHS_TARGET_PLATFORM 的值组成。默认为 arm_integrity.tgt。
可以设置
CMAKE_GENERATOR_PLATFORM变量,例如通过cmake -A选项。通常使用arm,ppc,86等值。可以设置
GHS_TARGET_PLATFORM变量,例如通过cmake -D选项。默认为integrity。常见值为integrity,threadx,uvelosity,velosity,vxworks,standalone。
例如
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。可以设置
GHS_TOOLSET_ROOT变量,例如通过cmake -D选项。工具集搜索的根路径及相对路径的基准。在 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_201554cmake -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)需要操作系统。RTOS 目录路径可以使用 GHS_OS_DIR 显式设置。否则,将会在 GHS_OS_ROOT 中搜索最新的 Integrity RTOS。
如果目标平台(如 Integrity)需要 BSP 名称,则可以通过 GHS_BSP_NAME 变量进行设置。
GHS_OS_DIR和GHS_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_ROOTRTOS 搜索的根路径。在 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 4.3.0,该生成器被视为实验性功能,且仍在开发中。随着生成器的成熟,未来的 CMake 版本可能会进行破坏性更改。