Green Hills MULTI

在 3.3 版被加入.

在 3.15 版被加入: Linux support.

Generates Green Hills MULTI project files (experimental, work-in-progress).

The buildsystem has predetermined build-configuration settings that can be controlled via the CMAKE_BUILD_TYPE variable.

Platform Selection

在 3.13 版被加入.

The variable GHS_PRIMARY_TARGET can be used to select the target platform.

Sets primaryTarget entry in project file.

For example:

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

Otherwise the primaryTarget will be composed from the values of CMAKE_GENERATOR_PLATFORM and GHS_TARGET_PLATFORM. Defaulting to the value of arm_integrity.tgt

  • The CMAKE_GENERATOR_PLATFORM variable may be set, perhaps via the cmake -A option.

    Typical values of arm, ppc, 86, etcetera, are used.
  • The variable GHS_TARGET_PLATFORM may be set, perhaps via the cmake -D option.

    Defaults to integrity.
    Usual values are integrity, threadx, uvelosity, velosity, vxworks, standalone.

For example:

  • cmake -G "Green Hills MULTI" for arm_integrity.tgt.

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

  • cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standalone for arm_standalone.tgt.

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

Toolset Selection

在 3.13 版被加入.

The generator searches for the latest compiler or can be given a location to use. GHS_TOOLSET_ROOT is the directory that is checked for the latest compiler.

  • The CMAKE_GENERATOR_TOOLSET option may be set, perhaps via the cmake -T option, to specify the location of the toolset. Both absolute and relative paths are valid. Paths are relative to GHS_TOOLSET_ROOT.

  • The variable GHS_TOOLSET_ROOT may be set, perhaps via the cmake -D option.

    Root path for toolset searches and relative paths.
    Defaults to C:/ghs in Windows or /usr/ghs in Linux.

For example, setting a specific compiler:

  • cmake -G "Green Hills MULTI" -T comp_201754 for /usr/ghs/comp_201754.

  • cmake -G "Green Hills MULTI" -T comp_201754 -D GHS_TOOLSET_ROOT=/opt/ghs for /opt/ghs/comp_201754.

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

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

For example, searching for latest compiler:

  • cmake -G "Green Hills MULTI" for searching /usr/ghs.

  • cmake -G "Green Hills MULTI -D GHS_TOOLSET_ROOT=/opt/ghs" for searching /opt/ghs.

備註

The CMAKE_GENERATOR_TOOLSET should use CMake style paths.

OS and BSP Selection

在 3.3 版被加入.

Certain target platforms, like Integrity, require an OS. The RTOS directory path can be explicitly set using GHS_OS_DIR. Otherwise GHS_OS_ROOT will be searched for the latest Integrity RTOS.

If the target platform, like Integrity, requires a BSP name then it can be set via the GHS_BSP_NAME variable.

  • GHS_OS_DIR and GHS_OS_DIR_OPTION

    Sets -os_dir entry in project file.
    GHS_OS_DIR_OPTION default value is -os_dir.

    在 3.15 版被加入: The GHS_OS_DIR_OPTION variable.

    For example:

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

  • GHS_OS_ROOT

    Root path for RTOS searches.
    Defaults to C:/ghs in Windows or /usr/ghs in Linux.

    For example:

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

  • GHS_BSP_NAME

    Sets -bsp entry in project file.
    Defaults to sim<arch> for integrity platforms.

    For example:

    • cmake -G "Green Hills MULTI" for simarm on arm_integrity.tgt.

    • cmake -G "Green Hills MULTI" -A 86 for sim86 on 86_integrity.tgt.

    • cmake -G "Green Hills MULTI" -A ppc -D GHS_BSP_NAME=sim800 for sim800 on ppc_integrity.tgt.

    • cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt -D GHS_BSP_NAME=fsl-t1040 for fsl-t1040 on ppc_integrity.tgt.

Target Properties

在 3.14 版被加入.

The following properties are available:

MULTI Project Variables

在 3.3 版被加入.

Adding a Customization file and macros are available through the use of the following variables:

  • GHS_CUSTOMIZATION - CMake path name to Customization File.

  • GHS_GPJ_MACROS - CMake list of Macros.

備註

This generator is deemed experimental as of CMake 4.0.2 and is still a work in progress. Future versions of CMake may make breaking changes as the generator matures.