How to build the test binding using “AFB CMake Modules”
Defining CMake targets
Now that the test tree has been created, in each directory you have to create
a CMakeLists.txt
file to hold the CMake’s target definition. For each target
you need to specify a LABELS depending on the purpose of the files for each
directory. There are more explanations about using the afb-cmake-modules in the “AFB CMake Modules” chapter.
Here is a cheat sheet to map the LABELS target for each classic test tree directory:
-
etc
uses the label TEST-CONFIG -
fixtures
uses the label TEST-DATA -
tests
uses the label TEST-DATA
i.e for the etc
folder:
PROJECT_TARGET_ADD(helloworld-config)
file(GLOB CONF_FILES "*.json")
add_input_files("${CONF_FILES}")
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
LABELS "TEST-CONFIG"
OUTPUT_NAME ${TARGET_NAME}
)
CAUTION: make sure that you have CMakeLists files that include your subdirectories target (cf: previous chapter “Write the tests”).
Build the test binding
By default, the test binding is built. Therefore, simply build the binding as usual.
# Go in your project directory
cd <your_binding>/
# Make a build directory if it does not already exist
mkdir -p build
# Go in your build directory
cd build
# Run the cmake part
cmake ..
# Run the make part
make
After running the command lines given here above, in the build/
directory, you can see now, the directories named package/
and package-test/
.