CMake and Feel++ applications
this documentation should be moved to another location. |
Feel++ offers a development environment for solving partial differential equations. It uses many tools to cover the different steps pre-processing, processing and post-processing and large range of numerical methods and needs. To this end it is crucial to have a powerful build environment. Feel++ uses CMake from Kitware and provides various macros to help setting up your own application or research project.
1. CMake macros
1.1. Setting up Feel++ environment
See section Using Feel++.
1.2. Adding a new application
See section Using Feel++.
1.3. Adding a new testcase
For a give application or multiple applications you may define testcases. testcases are difrectory containing a set of files that may include geometry, mesh, cfg or json files.
To define a new testcase case, create a sub-directory where your
application, say myapp
like in the previous section, stands and copy
the required files there.
cd <source directory of my application>
mkdir mytestcase
# copy files (.geo, .msh, .cfg...) to mytestcase
...
then edit the CMakeLists.txt
in your application directory and add
the following line:
feelpp_add_testcase(mytestcase)
Then type make feelpp_add_testcase_mytestcase
in the build directory
of your application myapp
. It will copy in the build directory of
your application the directory mytestcase.
INFO: if you updated the testcase data files, executing make
feelpp_testcase_mytestcase
will use rsync
to update the files that
were changed in the source.
The macro feelpp_add_testcase
supports options:
PREFIX
-
(default is
feelpp
) set the prefix of the target to avoid eg name clash
feelpp_add_testcase(mytestcase PREFIX foo)
then the target is foo_add_testcase_mytestcase
.
DEPS
-
set the dependencies of the testcase
feelpp_add_testcase(mytestcase DEPS myothertestcase)
it allows to update a testcase depending on changes in an other one.