UseEcos¶
This module defines variables and provides commands required to build an eCos application.
Load this module in CMake project with:
include(UseEcos)
Commands¶
This module provides the following commands:
Building an eCos Application¶
- ecos_add_include_directories¶
Adds the eCos include directories for the current
CMakeLists.txt
file:ecos_add_include_directories()
- ecos_adjust_directory¶
Adjusts the paths of given source files:
ecos_adjust_directory(<var> <sources>...)
This command modifies the paths of the source files
<sources>...
to make them suitable for use withecos_add_executable()
, and stores them in the variable<var>
.<var>
Result variable name holding a new list of source files with adjusted paths.
<sources>...
A list of relative or absolute source files to adjust their paths.
Use this command when the actual sources are located one level upwards. A
../
has to be prepended in front of every source file that is given as a relative path.
- ecos_add_executable¶
Creates an eCos application executable:
ecos_add_executable(<name> <sources>...)
<name>
The name of the executable.
<sources>...
A list of all source files, where the path has been adjusted beforehand by calling the
ecos_adjust_directory()
.
This command also sets the
ECOS_DEFINITIONS
local variable, holding some common compile definitions.
Selecting the Toolchain¶
- ecos_use_arm_elf_tools¶
Enables the ARM ELF toolchain for the directory where it is called:
ecos_use_arm_elf_tools()
Use this command, when compiling for the xscale processor.
- ecos_use_i386_elf_tools¶
Enables the i386 ELF toolchain for the directory where it is called:
ecos_use_i386_elf_tools()
- ecos_use_ppc_eabi_tools¶
Enables the PowerPC toolchain for the directory where it is called:
ecos_use_ppc_eabi_tools()
Variables¶
This module also defines the following variables:
ECOSCONFIG_EXECUTABLE
Cache variable that contains a path to the
ecosconfig
executable (the eCos configuration program).ECOS_CONFIG_FILE
A local variable that defaults to
ecos.ecc
. If eCos configuration file has a different name, adjust this variable before calling theecos_add_executable()
.
Examples¶
The following example demonstrates defining an eCos executable target in a
project that follows the common eCos convention of listing source files in
a ProjectSources.txt
file, located one directory above the current
CMakeLists.txt
:
CMakeLists.txt
¶include(UseEcos)
# Add the eCos include directories.
ecos_add_include_directories()
# Include the file with the eCos sources list. This file, for example, defines
# a list of eCos sources:
# set(sources file_1.cxx file_2.cxx file_3.cxx)
include(../ProjectSources.txt)
# When using such directory structure, relative source paths must be adjusted:
ecos_adjust_directory(adjusted_sources ${sources})
# Create eCos executable.
ecos_add_executable(ecos_app ${adjusted_sources})