This module defines variables and provides commands required to build an eCos application.
Load this module in CMake project with:
include(UseEcos)
This module provides the following commands:
Adds the eCos include directories for the current CMakeLists.txt file:
ecos_add_include_directories()
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 with ecos_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.
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.
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.
Enables the i386 ELF toolchain for the directory where it is called:
ecos_use_i386_elf_tools()
Enables the PowerPC toolchain for the directory where it is called:
ecos_use_ppc_eabi_tools()
This module also defines the following variables:
ECOSCONFIG_EXECUTABLECache variable that contains a path to the ecosconfig executable (the eCos
configuration program).
ECOS_CONFIG_FILEA local variable that defaults to ecos.ecc. If eCos configuration file
has a different name, adjust this variable before calling the
ecos_add_executable().
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.txtinclude(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})