<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### 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) - [x] New feature (non-breaking change which adds new functionality) - [x] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [x] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail --> This PRs main focus is to introduce components groups for easier building of various groups.
Other main changes: - Forbid in-source builds - First draft packaging file for easier debian generation - Introduce checksymbol exists for feature detection - Since during the dev of itm more and more commits were included, I am creating a PR for easier rollback if something goes wrong.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4244
-- Commit Summary --
* cmake: Use components to install groups * cmake: Forbid in-source builds * cmake: Warning if no modules/group were selected * cmake: If BUILD_DOC options is set to ON, include doc and man targets to default target! * cmake: quote variables for expansion * cmake: Better handling of doc generation dependencies * cmake: Fix formatting according to cmake-format config file * cmake: Refactor packaging setup and improve installation paths * cmake: Fix build paths for dbschema. * cmake: Remove warning message * cmake: Add check and warning for module docs * cmake: Add missing defintion * cmake: Add some comments * cmake: Introduce CheckSymbolExists for feature detection * cmake: Remove unused groups * cmake: Fix wrong name of option * cmake: Remove unnessecary components to be consistent * cmake: Quiet fail for rabbit-mq * cmake: Remove find_package for ORTP and Mediastreamer2 libraries
-- File Changes --
M CMakeLists.txt (23) M cmake/compiler-specific.cmake (6) A cmake/db_files.cmake (51) A cmake/dbschema.cmake (117) A cmake/deb-packaging.cmake (18) M cmake/defs.cmake (51) M cmake/groups.cmake (179) M cmake/modules-docs.cmake (144) M cmake/os-specific.cmake (8) M cmake/os-specific/darwin.cmake (8) M cmake/os-specific/dragonfly.cmake (12) M cmake/os-specific/freebsd.cmake (8) M cmake/os-specific/linux.cmake (14) M src/CMakeLists.txt (79) M src/core/CMakeLists.txt (2) M src/modules/CMakeLists.txt (46) M src/modules/app_perl/CMakeLists.txt (10) M src/modules/auth_radius/CMakeLists.txt (3) M src/modules/crypto/CMakeLists.txt (2) M src/modules/db_berkeley/CMakeLists.txt (7) M src/modules/db_mongodb/CMakeLists.txt (25) M src/modules/db_mysql/CMakeLists.txt (7) M src/modules/db_oracle/CMakeLists.txt (7) M src/modules/db_postgres/CMakeLists.txt (7) M src/modules/db_redis/CMakeLists.txt (3) M src/modules/db_sqlite/CMakeLists.txt (7) M src/modules/db_text/CMakeLists.txt (13) M src/modules/dnssec/CMakeLists.txt (2) M src/modules/kazoo/CMakeLists.txt (4) M src/modules/rabbitmq/CMakeLists.txt (3) M src/modules/rtp_media_server/CMakeLists.txt (21) M src/modules/snmpstats/CMakeLists.txt (3) M src/modules/tls/CMakeLists.txt (2) M src/modules/xhttp_pi/CMakeLists.txt (18) M utils/db_berkeley/CMakeLists.txt (1) M utils/kamcmd/CMakeLists.txt (13) M utils/kamctl/CMakeLists.txt (293)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4244.patch https://github.com/kamailio/kamailio/pull/4244.diff