Hello all,
I've started working on integrating CMake as a build system for the Kamailio. This is an initial step towards potentially offering CMake as an alternative to the current build system across the entire Kamailio project. Right now, the CMake configuration is quite basic and covers only the core module. It offers limited options described in Makefile.defs that are required to build the core module. Some notes regarding the definitions can be found also in the CMakelists.noteshttps://github.com/kamailio/kamailio/compare/master...cmake#diff-4e8ba0f2d53c1a8b57e416e35f56d4f66bbc82d8b8d9317e2a72f1dd395b9d03 that made the build failed and maybe it's good to remove from current Makefiles as well, if i am not wrong. Before we consider extending it to other modules and components, i would like some feedback whether you find it useful at all. You can find the initial CMake files in the cmake branch. Please take a look and feel free to share any feedback or suggestions. Your input will be much appreciated and nessecary if we want CMake as a build system.
For anyone wanting to try and compile using cmake, here are some basic instructions on how to get you started. Checkout the cmake branch of kamailio repo. Create a new folder, let's call it build. mkdir build && cd build Then run CMake for the configuration cmake .. (you can also then use ccmake . for a visual of the offered options) Build and install using make make -j4 make install OR Build and install using cmake cmake --build . cmake --install .
You can of course use the CMake variable CMAKE_INSTALL_PREFIX to change the installation paths as follows and of course other preprocessor defintions: cmake -DCMAKE_INSTALL_PREFIX=./kamailio-cmake -DUSE_TCP=0 .. This will install it in the build/kamailio-cmake folder but fails to build because USE_TCP is required for kamailio to build (Check CMakelists.notes).
Thank you all for your continuous contributions and support. Looking forward to hearing your thoughts and insights. Best regards, Xenofon https://github.com/kamailio/kamailio/tree/cmake [https://repository-images.githubusercontent.com/15101579/2d895000-e695-11e9-...]https://github.com/kamailio/kamailio/tree/cmake GitHub - kamailio/kamailio at cmakehttps://github.com/kamailio/kamailio/tree/cmake Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms - - GitHub - kamailio/kamailio at cmake github.com