Hello,
thanks for spending time in this direction! Makefiles were for long
supposed to get a review.
I am not familiar for CMake, but if it is considered a good option, I am
fine with it. For now, a few questions:
- is it already building the modules as well, or only the core for now?
- can it be used also for building the docs (e.g., README files for
modules)?
- any of the old Makefiles need to be kept, or all of them will be
replaced?
Cheers,
Daniel
On 11.06.24 18:11, Xenofon Karamanos via sr-dev wrote:
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.notes
<https://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://github.com/kamailio/kamailio/tree/cmake>
<https://github.com/kamailio/kamailio/tree/cmake>
GitHub - kamailio/kamailio at cmake
<https://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
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-leave(a)lists.kamailio.org
--
Daniel-Constantin Mierla (@
asipto.com)
twitter.com/miconda --
linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services --
asipto.com