Green Hills MULTI¶
Added in version 3.3.
Added in version 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_TYPEvariable.
Platform Selection¶
Added in version 3.13.
The variable GHS_PRIMARY_TARGET can be used to select the target platform.
SetsprimaryTargetentry 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_PLATFORMvariable may be set, perhaps via thecmake -Aoption.Typical values ofarm,ppc,86, etcetera, are used.The variable
GHS_TARGET_PLATFORMmay be set, perhaps via thecmake -Doption.Defaults tointegrity.Usual values areintegrity,threadx,uvelosity,velosity,vxworks,standalone.
For example:
cmake -G "Green Hills MULTI"forarm_integrity.tgt.cmake -G "Green Hills MULTI" -A 86for86_integrity.tgt.cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standaloneforarm_standalone.tgt.cmake -G "Green Hills MULTI" -A ppc -D GHS_TARGET_PLATFORM=standaloneforppc_standalone.tgt.
Toolset Selection¶
Added in version 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_TOOLSEToption may be set, perhaps via thecmake -Toption, to specify the location of the toolset. Both absolute and relative paths are valid. Paths are relative toGHS_TOOLSET_ROOT.The variable
GHS_TOOLSET_ROOTmay be set, perhaps via thecmake -Doption.Root path for toolset searches and relative paths.Defaults toC:/ghsin Windows or/usr/ghsin Linux.
For example, setting a specific compiler:
cmake -G "Green Hills MULTI" -T comp_201754for/usr/ghs/comp_201754.cmake -G "Green Hills MULTI" -T comp_201754 -D GHS_TOOLSET_ROOT=/opt/ghsfor/opt/ghs/comp_201754.cmake -G "Green Hills MULTI" -T /usr/ghs/comp_201554cmake -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.
Note
The CMAKE_GENERATOR_TOOLSET should use CMake style paths.
OS and BSP Selection¶
Added in version 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_DIRandGHS_OS_DIR_OPTIONSets-os_direntry in project file.GHS_OS_DIR_OPTIONdefault value is-os_dir.Added in version 3.15: The
GHS_OS_DIR_OPTIONvariable.For example:
cmake -G "Green Hills MULTI" -D GHS_OS_DIR=/usr/ghs/int1144
GHS_OS_ROOTRoot path for RTOS searches.Defaults toC:/ghsin Windows or/usr/ghsin Linux.For example:
cmake -G "Green Hills MULTI" -D GHS_OS_ROOT=/opt/ghs
GHS_BSP_NAMESets-bspentry in project file.Defaults tosim<arch>forintegrityplatforms.For example:
cmake -G "Green Hills MULTI"forsimarmonarm_integrity.tgt.cmake -G "Green Hills MULTI" -A 86forsim86on86_integrity.tgt.cmake -G "Green Hills MULTI" -A ppc -D GHS_BSP_NAME=sim800forsim800onppc_integrity.tgt.cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt -D GHS_BSP_NAME=fsl-t1040forfsl-t1040onppc_integrity.tgt.
Target Properties¶
Added in version 3.14.
The following properties are available:
MULTI Project Variables¶
Added in version 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.
Note
This generator is deemed experimental as of CMake 4.0.1 and is still a work in progress. Future versions of CMake may make breaking changes as the generator matures.