Hello all,
As you may have noticed, we have added CMake building support to kamailio. You can check the PR https://github.com/kamailio/kamailio/pull/4043 for details and https://github.com/kamailio/kamailio-wiki/blob/main/docs/tutorials/cmake/in… for docs on how to use it.
Currently all of the modules have their corresponding CMakeLists.txt and should compile successfully (apart from the tls_wolfss).
I say should as i have only being able to test them on my machine with the following:
Ubuntu 20.04.6 LTS
Linux 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
cmake version 3.29.4 (min is 3.10, as defined in CMakelist.txt, found available in Ubuntu 18.04)
i will also add support for more OSes but for the time being there is support for Linux-based, DragonFly (for some reason) and Darwin (MacOS).
You can also introduce the files needed to in https://github.com/kamailio/kamailio/tree/master/cmake/os-specific, if you are willing to help and submit a PR.
Some modules i could not compile because of missing dependencies available on the distribution or require specific OS (db_oracle) are:
1.
db_oracle
2.
dnssec
3.
jwt
4.
microhttpd
5.
nats
6.
nsq
7.
ruxc
8.
secsipid_proc
9.
stirshaken
10.
tls_wolfssl (compilation error, need some more time to see why)
Any help on verifying whether the above modules (and of course all the rest), compile and run successfully will be awesome.
Any bug fixes and PRs are obviously welcome and appreciated.
Reporting issues is can be done of course on kamailio github page.
Cheers,
Xenofon
Hello,
thanks to a significant effort/contribution done by Xenofon Karamanos,
with some help from Alexandr Dubovikov during Kamailio Devel Meeting in
Dusseldorf, support for using CMake (https://cmake.org/) for building
Kamailio has been recently merged to git repository:
 -
https://lists.kamailio.org/mailman3/hyperkitty/list/sr-dev@lists.kamailio.o…
The old build system based on manually crafted Makefiles got quite
complex during the past 20 years, discovering and managing dependencies
becoming harder and harder.
Right now, both old Makefiles and the new CMake-based build system are
available in order to help discovering what is missing in CMake files
from what people use with the old Makefiles.
However, the plan is to REMOVE the old Makefiles before freezing the
development for v6.0.x (like 12 days or so). The testing phase for
v6.0.x will be also used for tuning what is missing in the CMake files.
Of course, it not going to end up to be 100% same set of build commands,
but the goal is to have the commonly used ones. Besides that, CMake
should facilitate easier automate testing and packaging.
Therefore it is important that you upgrade your Kamailio build/packaging
process to use CMake and report if there is something that you cannot
achieve with it. Docs are available in the wiki at:
 - https://www.kamailio.org/wikidocs/tutorials/cmake/default/
 - https://www.kamailio.org/wikidocs/tutorials/cmake/custom/
You are encouraged to make pull requests to the above tutorials if you
find something missing or useful to be known by the others.
Another impact of the new CMake build system is to supported operating
systems. CMake is widely available, however the developers have access
to limited set of machines and they are also not very familiar with
every OS out there. Old Makefiles (tried to) have support for very old
OSes (from late 1990's early 2000's, like vax vms, sunos, ...), I
haven't seen any activity related to them in the community for many
years, therefore unless someone still uses such OS and contributes
support for them, they will be lost by the cmake build system.
Anyhow, in short, test on your favourite OS and report if something is
not working.
Cheers,
Daniel
--
Daniel-Constantin Mierla
| https://www.asipto.com
| SIP/Kamailio Consultancy, Training & Development Services
| Berlin - Germany
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Just a minor typo fix in a README.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4051
-- Commit Summary --
* misc: examples/ims/scscf/README - fix typo in .sql filename [skip ci]
-- File Changes --
M misc/examples/ims/scscf/README.md (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4051.patchhttps://github.com/kamailio/kamailio/pull/4051.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4051
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4051(a)github.com>