<!-- 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
@xkaraman pushed 1 commit.
81856eafc2c4b65c44eb2d96f705a11a9af796b9 cmake: Centralize dbschema generation
@xkaraman pushed 1 commit.
d68cf0b8c0e1372740300ad5e96c454a0c771643 cmake: Centralize dbschema generation
@xkaraman pushed 7 commits.
7e8852c0584cbad6531b2392346ba1f217d82971 cmake: Introduce CheckSymbolExists for feature detection 478fd43dd4c68259638b0528633f10a9f0a0118f cmake: Remove unused groups 2e343bb4966c7b027221aa602b0c3df4d7aefde0 cmake: Fix wrong name of option fc4f81e1160364058abb12274b47ccca9f209cc6 cmake: Remove unnessecary components to be consistent e5f299e347f977f64bf10f5a9cd637d33b948f9b cmake: Quiet fail for rabbit-mq 748183de69fba5625bf0f9019f234e5ba04967a3 cmake: Remove find_package for ORTP and Mediastreamer2 libraries c7084cb5cd942bc395067c4d83288753ffcbbd48 cmake: Centralize dbschema generation
@xkaraman pushed 20 commits.
e31a3d5df6776aa1126e0ea41e0db9abab5bd7e2 cmake: Use components to install groups 9fad27c10e00077c81b8fb3fda629ab7c9f5b4c2 cmake: Forbid in-source builds 8d8d61baec143afe5dde1ca972f645fe96e94b29 cmake: Warning if no modules/group were selected 332ef3c30cbdeb71558ed6b00deef3654495bdbb cmake: If BUILD_DOC options is set to ON, include doc and man targets to default target! 7f032ac2b4d371cd8b532dcd0f5fc7ec1e926d36 cmake: quote variables for expansion efd1d6cc88128e997675af3206292621d9e44a8f cmake: Better handling of doc generation dependencies 9aaf4ac06fc073d41e1edc4bb506196f74673d34 cmake: Fix formatting according to cmake-format config file c57bd8ab160deac03dd3a2cbd813a1992f50ec00 cmake: Refactor packaging setup and improve installation paths 2b1d08ad963f73ee6c4b2ff55be702696dd39fb8 cmake: Fix build paths for dbschema. 6aeae4ae58ecf6f62b155ff446f35905e596a3c3 cmake: Remove warning message 057aa8e9db2728203fab28942cd1e98bfb480816 cmake: Add check and warning for module docs 15703d05e12f7a6eb9dae0fabb71bc414e956886 cmake: Add missing defintion 90f6eeab895c7eb4c5a1e05958d9967a9bbe784c cmake: Add some comments de996e1a2a5e26bf845e660da59be5d57773467b cmake: Introduce CheckSymbolExists for feature detection a5932999a1f052e08b30342c7e48299ad1a58442 cmake: Remove unused groups 211621b74ef0dbde43ecf6181e15ad6f3fc1708e cmake: Fix wrong name of option 0ce3b0315abd52607757dae314462fb96fcd5545 cmake: Remove unnessecary components to be consistent 7e5a7bd26ab801b09b90f9cdadbf6f7fe2ed3adb cmake: Quiet fail for rabbit-mq c04126ce18fd9a4970928bec7178ec3508602ad0 cmake: Remove find_package for ORTP and Mediastreamer2 libraries e0c4e274f5e78e64e7b0226f3d957b9f801ed464 cmake: Centralize dbschema generation
@xkaraman pushed 11 commits.
f2aac963fc750cb2484673373816bfddcc6be463 cmake: Use components to install groups 0652eb992bac2c52fd3fa950dfd6b138038381de cmake: quote variables for expansion 296118ea269a0d436c9831f968cebc0880a3eef7 cmake: Better handling of doc generation dependencies 928c274c2537d2eedf56b00d74cdb6a18c738d97 cmake: Fix formatting according to cmake-format config file 6e5957b02bd9865c405f875a694c633fa30a607b cmake: Refactor packaging setup and improve installation paths 34dc8a3fb8852ff0b27d22422dd92c41f705c61e cmake: Fix build paths for dbschema. e4f307327f12ac025eac84212b24a8dcbac90be5 cmake: Add check and warning for module docs 993d6b4636240e5ec1cb0ef0694a3fda6fd83f58 cmake: Add some comments 55ede2a39fe5fe290c468cb0e4ce87e6a69837cf cmake: Introduce CheckSymbolExists for feature detection f0162a2e2a9bb842c9183b4808be84c113efe51f cmake: Fix wrong name of option 83fbd2d25409da7de7fbad30fcca2d884286a511 cmake: Centralize dbschema generation
@xkaraman pushed 5 commits.
21a59a1d2d010da7f661a33cf12be9102fdb7943 cmake: Fix build paths for dbschema. 734bee9b5735fa16bcfa3fb3fe5d4685b2b62964 cmake: Add check and warning for module docs fb07da1bc18ebf1eb3f65a7146e504fa23b9fee9 cmake: Add some comments a69d8062bf5ccdef266c3558bccf451d17c0f2e6 cmake: Fix wrong name of option 3d712dc5cd298d732d4f2ea1060235a33c9eeb82 cmake: Centralize dbschema generation
@xkaraman pushed 1 commit.
1ad3b3cb4bb165aa9dfc49f3db5baf6c6b6debdc cmake: Centralize dbschema generation
@xkaraman pushed 6 commits.
6372b44e6653cc26f1f3052c2be414065c4d13f9 cmake: Fix formatting according to cmake-format config file ce75b001d4b2b7da922c76655a66766a3bb53fed cmake: Fix build paths for dbschema. 185e714d11f97f6a05612baa6f5f0051fd1de5ed cmake: Add check and warning for module docs 2543483b089eee9c4a4981e706c475785d311547 cmake: Add some comments d244686d896dfd79afec82d725a05562337edf0a cmake: Fix wrong name of option 888dd79b3e5837c3b0ea933d8c0f1b39ae91b136 cmake: Centralize dbschema generation
Merged #4244 into master.