Hello,

got a bit of time to look at it, but it fails on Ubuntu arm64:

$ uname -a
Linux u2204 5.15.0-107-generic #117-Ubuntu SMP Mon Apr 29 14:37:09 UTC
2024 aarch64 aarch64 aarch64 GNU/Linux

This is my usual development environment lately and it compiles fine
with the usual Makefiles. The errors (after: mkdir build, cd build,
cmake ..)​ are:

$ make
[  0%] Generating cfg.tab.c and cfg.tab.h from cfg.y
[  0%] Generating lex.yy.c from cfg.lex
[  0%] Built target GenerateParser
[  0%] Building C object src/core/CMakeFiles/kamailio.dir/action.c.o
cc: error: unrecognized command-line option ‘-m64’
cc: error: unrecognized command-line option ‘-minline-all-stringops’
make[2]: *** [src/core/CMakeFiles/kamailio.dir/build.make:88:
src/core/CMakeFiles/kamailio.dir/action.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:887:
src/core/CMakeFiles/kamailio.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I am not familiar with cmake and no much time to dig in at this moment,
so I thought to just report it.

Cheers,
Daniel

On 17.06.24 09:49, Xenofon Karamanos via sr-dev wrote:
> Hey Daniel and all, 
>
> I have updated the branch to compile some of the modules and libs, so
> we can have a fully runnable default configuration.
>
> Same steps as before:
> |mkdir build && cd build|​
> Then run CMake for the configuration and any options you would like.
> |cmake ..|​  (you can also then use  |ccmake .|​    for a visual of
> the offered options).
> I am currently using  the following commands to have it installed in
> build/kam-6 folder but you of course can use any prefix and
> definitions you like (hopefully):
> |      cmake -DCMAKE_INSTALL_PREFIX=./kam-6 -DINCLUDE_MODULES="async"
> ..|​  
> Build and install using make
> |     make -j4|​ install
>
> There should now be a |kamailio|​ binary in build/kam-6/sbin that you
> can run directly |./sbin/kamailio|​. 
> Also, you have to make sure the build/kam-6/var/run folder exists so
> it can run normally even no file is required to be create there with
> the default config.
> Any reviews and feedback is deeply appreciated,
>
> Thanks
> Xenofon 
>
>
> ------------------------------------------------------------------------
> *From:* Xenofon Karamanos <x...@gilawa.com>
> *Sent:* Wednesday, June 12, 2024 11:09
> *To:* Kamailio (SER) - Development Mailing List
> <sr-dev@lists.kamailio.org>; mico...@gmail.com <mico...@gmail.com>
> *Subject:* Re: [sr-dev] Initial Support for CMake in Kamailio -
> Feedback Needed!
>  
> Hey Daniel,
>
> Thank you for your taking the time to provide feedback.
> CMake is the de-facto "build" system (it's actually a generator for
> buildsystems like make, ninja and so on) for C and C++ programs as far
> as i know. There are some alternatives, like Meson i think, that i am
> really not familiar with and not seen it in the wild enough.
> So to answer your questions:
>       - CMake currently builds only the files found in the src/core
> folder. For the modules, we will probably have to adopt each
> module separately to CMake. Not something difficult, i would say but
> there are lots of modules. Maybe you can suggest some modules we want
> to get it up and running for some initial set-up and to see how to
> properly adjust the workflow to CMake.
>       - Most probably yes, i have seen CMake build docs with doxygen.
> I am not really familiar with our docs generator but i think as long
> as we use a well-know generator, we can have seperate targets for
> generating the Docs and probably custom files from the xml like Readme
> files.
>       - At the end of the CMake integration, there should be no need
> for any of the Makefiles. CMake will generate the appropriate ones for
> make, ninja, Visual Studio or whatever build you choose (as long as
> it's supported by CMake) and use that for building the targets. At
> this point also, no makefiles  from repositort where used to build the
> core. When you run CMake in the build folder, it creates a new set of
> makefiles in there, that do the job.
>
> I hope these clear some of your questions. If you need any
> more information or have any suggestions regarding modules/docs
> please let me know,
> Xenofon
>
> ------------------------------------------------------------------------
> *From:* Daniel-Constantin Mierla <mico...@gmail.com>
> *Sent:* Wednesday, June 12, 2024 09:21
> *To:* Kamailio (SER) - Development Mailing List
> <sr-dev@lists.kamailio.org>
> *Cc:* Xenofon Karamanos <x...@gilawa.com>
> *Subject:* Re: [sr-dev] Initial Support for CMake in Kamailio -
> Feedback Needed!
>  
>
> 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-le...@lists.kamailio.org
>     <mailto:sr-dev-le...@lists.kamailio.org>
>
> -- Daniel-Constantin Mierla (@ asipto.com) twitter.com/miconda --
> linkedin.com/in/miconda Kamailio Consultancy, Training and Development
> Services -- asipto.com
>
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> To unsubscribe send an email to sr-dev-le...@lists.kamailio.org


-- 
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to