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_TYPE
variable.
Platform Selection¶
Added in version 3.13.
The variable GHS_PRIMARY_TARGET
can be used to select the target platform.
SetsprimaryTarget
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 thecmake -A
option.Typical values ofarm
,ppc
,86
, etcetera, are used.The variable
GHS_TARGET_PLATFORM
may be set, perhaps via thecmake -D
option.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 86
for86_integrity.tgt
.cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standalone
forarm_standalone.tgt
.cmake -G "Green Hills MULTI" -A ppc -D GHS_TARGET_PLATFORM=standalone
forppc_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_TOOLSET
option may be set, perhaps via thecmake -T
option, to specify the location of the toolset. Both absolute and relative paths are valid. Paths are relative toGHS_TOOLSET_ROOT
.The variable
GHS_TOOLSET_ROOT
may be set, perhaps via thecmake -D
option.Root path for toolset searches and relative paths.Defaults toC:/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
.
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_DIR
andGHS_OS_DIR_OPTION
Sets-os_dir
entry in project file.GHS_OS_DIR_OPTION
default value is-os_dir
.Added in version 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 toC:/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 tosim<arch>
forintegrity
platforms.For example:
cmake -G "Green Hills MULTI"
forsimarm
onarm_integrity.tgt
.cmake -G "Green Hills MULTI" -A 86
forsim86
on86_integrity.tgt
.cmake -G "Green Hills MULTI" -A ppc -D GHS_BSP_NAME=sim800
forsim800
onppc_integrity.tgt
.cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt -D GHS_BSP_NAME=fsl-t1040
forfsl-t1040
onppc_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 3.31.20241126-gce470d0 and is still a work in progress. Future versions of CMake may make breaking changes as the generator matures.