I'm setting up a new application (and the libraries coming with it) but I
have hard time figuring out the process of building, esp. how CMake knows
where to start building from..
By way of example, I'm trying to follow the process of setting up and
building sel4test.
Setting up the source dir structure:

repo init -u https://github.com/seL4/sel4test-manifest.git & repo sync

and creating the build dir

md build & cd build

Are perfectly understandable steps: create source tree that includes the
app sources (./projects/sel4test/apps/sel4test-driver/ in this case)
kernel (./kernel/) libraries (other subdirs under  ./projects/) and misc
tools (./tools/) and an extra subdir for build output
The third "magic" CMake setup step

../init-build.sh -DPLATFORM=<platform> -DRELEASE=FALSE -DSIMULATION=TRUE

enables a simple "ninja" command (without any params) to build
an application from the sources at
./projects/sel4test/apps/sel4test-driver/
This is  a mystery to me. Where is the target (sel4test-driver)
specification in these steps? I looked into init-build.sh and my
understanding is the CMake setup must be carried by this command:

cmake -G Ninja "$@" -DSEL4_CACHE_DIR="$CACHE_DIR" -C
"$project_dir/settings.cmake" "$project_dir"

but I cannot figure how said command finds that the application we are
trying to build is located in  ./projects/sel4test/apps/sel4test-driver/
Now, when I try to setup my own app, how do I tell  init-build.sh command
where my app is?

Thanks for any clarification, Chris
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to