Building Executable Applications
On this page
This page is a guide on making standalone executable applications that don’t use
the CxxTest framework. By executable application or app, we mean any .cpp
file with its own main
function, making use of Chaste functionality.
App locations
The Chaste build system assumes that the following locations may contain apps:
Chaste/apps/src
(contains the Cardiac executable)Chaste/projects/<project_name>/apps/src
(see User Projects if you are unfamiliar with user projects)
Building the app
To build an app, first configure Chaste as normal:
cmake /path/to/Chaste
Note
You may wish to switch on an optimised build - longer to compile, faster to run - when compiling executables for repeated/production use, see cmake build guide and the options for CMAKE_BUILD_TYPE
for how to switch on these compiler flags.
If you are building an app in Chaste/apps/src
, you should see something
similar to the following as part of the output:
...
Configuring main Chaste apps
Configuring MeshConvert app
Configuring Chaste app
...
The Chaste
app is the “cardiac executable”, see Cardiac Executable Tutorials for how to use it.
If you have made a new app within a user project, you should see something similar to:
...
Configuring project project_<project_name>
Configuring tests for project project_<project_name>
Configuring apps for project project_<project_name>
Configuring <app_name_1> app for project_<project_name>
Configuring <app_name_2> app for project_<project_name>
...
You then simply build the app as you would any other target:
make -j4 <app_name>
The executable app will be created in either:
/path/to/build_dir/apps
/path/to/build_dir/projects/<project_name>/apps
depending on whether the app is in the main Chaste apps directory, or a project directory.