-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Hello all,
on behalf of the Skynet team, we were thinking that the existing Makefile build is a little bit "problematic" and slow. Also, the linking is a liitle bit obscure. Adding news CEs alters a lot of core files, so merging every time the new changes of CRTS into our own tree is a time consuming task.
Instead we propose the use of CMake as build system. Here you can check CRTS with CMake as build system. To compile it just follow the instructions below:
mkdir buildcd buildcmake ..make(parallel compilation is supported through the-joption)
All resulting executable binaries for now are located into build/src but this can change of course.
The advantages of CMake are:
- Parallel compilation jobs -> faster compilation
- Very easy and automatic integration of new CEs and controllers (just take a look at
cognitive_engines/CMakeLists.txt)
Of course our CMake integration is not 100% ready yet. If you agree to accept it, we could improve it to be even more modular and efficient. For example, instead of using the config_cognitive_engines tool to alter the affected core files, we could let CMake to generate a header file, let's say imported_cognitive_engines.h with all the #include<> directives of cognitive engines header files.
Thus core files like extensible_cognitive_radio.cpp will include only the auto-generated header file and their code will remain unaffected even with new CEs or controllers integration.