groups.cmake 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796
  1. # Kamailio build system Module groups definitions
  2. #
  3. # lists are sets of modules that don't include modules that are in other lists -
  4. # break the lists as needed in order to use them to build desired groups and
  5. # packages
  6. #
  7. # * basic used modules, with no extra dependency (widespread usage)
  8. set(MOD_LIST_BASIC
  9. async
  10. auth
  11. benchmark
  12. blst
  13. cfg_rpc
  14. cfgutils
  15. corex
  16. counters
  17. ctl
  18. debugger
  19. diversion
  20. enum
  21. exec
  22. ipops
  23. kex
  24. mangler
  25. maxfwd
  26. mediaproxy
  27. mqueue
  28. nat_traversal
  29. nathelper
  30. path
  31. pike
  32. pv
  33. ratelimit
  34. rr
  35. rtimer
  36. rtpproxy
  37. sanity
  38. sdpops
  39. siputils
  40. sl
  41. statistics
  42. textops
  43. textopsx
  44. tm
  45. tmx
  46. topoh
  47. xlog
  48. rtpengine
  49. stun
  50. sipt
  51. tcpops
  52. auth_xkeys
  53. smsops
  54. tsilo
  55. cfgt
  56. statsc
  57. topos
  58. topos_htable
  59. sipdump
  60. pv_headers
  61. kemix)
  62. # * extra used modules, with no extra dependency
  63. set(MOD_LIST_EXTRA
  64. avp
  65. auth_diameter
  66. call_control
  67. call_obj
  68. dmq
  69. domainpolicy
  70. msrp
  71. carrierroute
  72. pdb
  73. qos
  74. sca
  75. seas
  76. sms
  77. sst
  78. timer
  79. tmrec
  80. uac_redirect
  81. xhttp
  82. xhttp_rpc
  83. xprint
  84. jsonrpcs
  85. nosip
  86. dmq_usrloc
  87. statsd
  88. rtjson
  89. log_custom
  90. keepalive
  91. ss7ops
  92. acc_diameter
  93. evrexec
  94. file_out
  95. sipjson
  96. lrkproxy
  97. math
  98. posops
  99. xhttp_prom
  100. dlgs
  101. sworker
  102. influxdbc)
  103. # * common modules depending on database
  104. set(MOD_LIST_DB
  105. acc
  106. alias_db
  107. auth_db
  108. avpops
  109. cfg_db
  110. db_text
  111. db_flatstore
  112. db_cluster
  113. dialog
  114. dispatcher
  115. domain
  116. drouting
  117. group
  118. htable
  119. imc
  120. matrix
  121. mohqueue
  122. msilo
  123. mtree
  124. p_usrloc
  125. pdt
  126. permissions
  127. pipelimit
  128. prefix_route
  129. registrar
  130. sipcapture
  131. siptrace
  132. speeddial
  133. sqlops
  134. uac
  135. uri_db
  136. userblocklist
  137. usrloc
  138. secfilter)
  139. # * common modules depending on database, using UID db schema
  140. set(MOD_LIST_DBUID db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags
  141. uid_uri_db)
  142. # * modules for devel purposes
  143. set(MOD_LIST_DEVEL misctest)
  144. # * modules depending on pcre3 library
  145. set(MOD_LIST_PCRE dialplan lcr regex)
  146. # * modules depending on radius client library
  147. set(MOD_LIST_RADIUS acc_radius auth_radius misc_radius peering)
  148. # * modules depending on ldap client library
  149. set(MOD_LIST_LDAP db2_ldap h350 ldap)
  150. # * modules depending on mysql client library
  151. set(MOD_LIST_MYSQL db_mysql)
  152. # * modules depending on postgres client library
  153. set(MOD_LIST_POSTGRES db_postgres)
  154. # * modules depending on unixodbc library
  155. set(MOD_LIST_UNIXODBC db_unixodbc)
  156. # * modules depending on xml2 library
  157. set(MOD_LIST_CPL cplc)
  158. # * modules depending on xml2 library
  159. set(MOD_LIST_XMLDEPS xhttp_pi xmlrpc xmlops)
  160. # * modules depending on net-snmp library
  161. set(MOD_LIST_SNMPSTATS snmpstats)
  162. # * modules depending on expat library
  163. set(MOD_LIST_XMPP xmpp)
  164. # * modules depending on bdb (db4) library
  165. set(MOD_LIST_BERKELEY db_berkeley)
  166. # * modules depending on curl library
  167. set(MOD_LIST_UTILS utils http_client lost slack)
  168. # * modules depending on curl and libevent2 library
  169. set(MOD_LIST_HTTP_ASYNC http_async_client)
  170. # * modules depending on memcache library
  171. set(MOD_LIST_MEMCACHED memcached)
  172. # * modules depending on openssl library
  173. set(MOD_LIST_TLSDEPS crypto tls)
  174. # * modules depending on static openssl library
  175. set(MOD_LIST_TLSA tlsa)
  176. # * modules depending on static wolfssl library
  177. set(MOD_LIST_TLS_WOLFSSL tls_wolfssl)
  178. # * modules depending on openssl library
  179. set(MOD_LIST_OUTBOUND outbound)
  180. # * modules depending on openssl and unistring library
  181. set(MOD_LIST_WEBSOCKET websocket)
  182. # * modules depending on libval-threads libcrypto libsres libpthread
  183. set(MOD_LIST_DNSSEC dnssec)
  184. # * modules depending on libsctp
  185. set(MOD_LIST_SCTP sctp)
  186. # * modules depending on openssl library
  187. set(MOD_LIST_AUTHEPH auth_ephemeral)
  188. # * modules related to SIMPLE presence extensions
  189. set(MOD_LIST_PRESENCE
  190. presence
  191. presence_conference
  192. presence_dfks
  193. presence_dialoginfo
  194. presence_mwi
  195. presence_profile
  196. presence_reginfo
  197. presence_xml
  198. pua
  199. pua_bla
  200. pua_dialoginfo
  201. pua_reginfo
  202. pua_rpc
  203. pua_usrloc
  204. pua_xmpp
  205. rls
  206. xcap_client
  207. xcap_server)
  208. # * modules depending on lua library
  209. set(MOD_LIST_LUA app_lua)
  210. # * modules depending on perl library
  211. set(MOD_LIST_PERLDEPS app_perl db_perlvdb)
  212. # * modules depending on python library
  213. set(MOD_LIST_PYTHON app_python)
  214. # * modules depending on python3 library
  215. set(MOD_LIST_PYTHON3 app_python3 app_python3s)
  216. # * modules depending on libm (math library - standard system library)
  217. set(MOD_LIST_JSDT app_jsdt)
  218. # * modules depending on ruby library
  219. set(MOD_LIST_RUBY app_ruby app_ruby_proc)
  220. # * modules depending on geoip library
  221. set(MOD_LIST_GEOIP geoip)
  222. # * modules depending on new geoip library
  223. set(MOD_LIST_GEOIP2 geoip2)
  224. # * modules depending on sqlite library
  225. set(MOD_LIST_SQLITE db_sqlite)
  226. # * modules depending on oracle library
  227. set(MOD_LIST_ORACLE db_oracle)
  228. # * modules depending on json library
  229. set(MOD_LIST_JSON json pua_json)
  230. # * modules depending on json (+libevent) library
  231. set(MOD_LIST_JSON_EVENT jsonrpcc)
  232. # * modules depending on jansson library
  233. set(MOD_LIST_JANSSON jansson acc_json)
  234. # * modules depending on jansson (+libevent) library
  235. set(MOD_LIST_JANSSON_EVENT janssonrpcc)
  236. # * modules depending on redis library
  237. set(MOD_LIST_REDIS db_redis ndb_redis topos_redis)
  238. # * modules related to IMS extensions
  239. set(MOD_LIST_IMS
  240. cdp
  241. cdp_avp
  242. ims_dialog
  243. ims_auth
  244. ims_isc
  245. ims_icscf
  246. ims_qos
  247. ims_registrar_pcscf
  248. ims_registrar_scscf
  249. ims_usrloc_pcscf
  250. ims_usrloc_scscf
  251. ims_charging
  252. ims_ocs
  253. ims_diameter_server
  254. ims_ipsec_pcscf)
  255. # * modules depending on java library
  256. set(MOD_LIST_JAVA app_java)
  257. # * modules depending on gzip library
  258. set(MOD_LIST_GZCOMPRESS gzcompress)
  259. # * modules depending on uuid library
  260. set(MOD_LIST_UUID uuid)
  261. # * modules depending on ev library
  262. set(MOD_LIST_EV evapi)
  263. # * modules depending on libjwt library
  264. set(MOD_LIST_JWT jwt)
  265. # * modules depending on libwebsockets library
  266. set(MOD_LIST_LWSC lwsc)
  267. # * modules depending on libstirshaken library
  268. set(MOD_LIST_STIRSHAKEN stirshaken)
  269. # * modules depending on kazoo/rabbitmq
  270. set(MOD_LIST_KAZOO kazoo)
  271. # * modules depending on mongodb
  272. set(MOD_LIST_MONGODB db_mongodb ndb_mongodb)
  273. # * modules depending on redis and event library
  274. set(MOD_LIST_CNXCC cnxcc)
  275. # * modules depending on erlang library
  276. set(MOD_LIST_ERLANG erlang)
  277. # * modules depending on systemd library
  278. set(MOD_LIST_SYSTEMD log_systemd systemdops)
  279. # * modules depending on libnsq (+libev libevbuffsock libcurl libjson-c) library
  280. set(MOD_LIST_NSQ nsq)
  281. # * modules depending on librabbitmq library
  282. set(MOD_LIST_RABBITMQ rabbitmq)
  283. # * modules depending on libphonenumber library
  284. set(MOD_LIST_PHONENUM phonenum)
  285. # * modules depending on rdkafka library
  286. set(MOD_LIST_KAFKA kafka)
  287. # * modules depending on mqtt mosquitto and ev library
  288. set(MOD_LIST_MQTT mqtt)
  289. # * modules depending on nats and ev library
  290. set(MOD_LIST_NATS nats)
  291. # * modules depending on ruxc library
  292. set(MOD_LIST_RUXC ruxc)
  293. # * modules depending on microhttpd library
  294. set(MOD_LIST_MICROHTTPD microhttpd)
  295. # * modules depending on nghttp2 library
  296. set(MOD_LIST_NGHTTP2 nghttp2)
  297. # * modules depending on libgcrypt library
  298. set(MOD_LIST_GCRYPT gcrypt)
  299. # * modules depending on secsipid library
  300. set(MOD_LIST_SECSIPID secsipid secsipid_proc)
  301. # * modules depending on oRTP and mediastreamer2 libraries
  302. set(MOD_LIST_RTP_MEDIA_SERVER rtp_media_server)
  303. # * all modules
  304. set(MOD_LIST_ALL
  305. ${MOD_LIST_BASIC}
  306. ${MOD_LIST_EXTRA}
  307. ${MOD_LIST_DB}
  308. ${MOD_LIST_DBUID}
  309. ${MOD_LIST_DEVEL}
  310. ${MOD_LIST_PCRE}
  311. ${MOD_LIST_RADIUS}
  312. ${MOD_LIST_LDAP}
  313. ${MOD_LIST_MYSQL}
  314. ${MOD_LIST_POSTGRES}
  315. ${MOD_LIST_UNIXODBC}
  316. ${MOD_LIST_XMLDEPS}
  317. ${MOD_LIST_PERLDEPS}
  318. ${MOD_LIST_CPL}
  319. ${MOD_LIST_XMPP}
  320. ${MOD_LIST_BERKELEY}
  321. ${MOD_LIST_UTILS}
  322. ${MOD_LIST_MEMCACHED}
  323. ${MOD_LIST_TLSDEPS}
  324. ${MOD_LIST_WEBSOCKET}
  325. ${MOD_LIST_SNMPSTATS}
  326. ${MOD_LIST_PRESENCE}
  327. ${MOD_LIST_LUA}
  328. ${MOD_LIST_PYTHON}
  329. ${MOD_LIST_PYTHON3}
  330. ${MOD_LIST_RUBY}
  331. ${MOD_LIST_GEOIP}
  332. ${MOD_LIST_SQLITE}
  333. ${MOD_LIST_JSON}
  334. ${MOD_LIST_JSON_EVENT}
  335. ${MOD_LIST_REDIS}
  336. ${MOD_LIST_IMS}
  337. ${MOD_LIST_ORACLE}
  338. ${MOD_LIST_OUTBOUND}
  339. ${MOD_LIST_JAVA}
  340. ${MOD_LIST_DNSSEC}
  341. ${MOD_LIST_SCTP}
  342. ${MOD_LIST_AUTHEPH}
  343. ${MOD_LIST_GZCOMPRESS}
  344. ${MOD_LIST_UUID}
  345. ${MOD_LIST_EV}
  346. ${MOD_LIST_KAZOO}
  347. ${MOD_LIST_MONGODB}
  348. ${MOD_LIST_CNXCC}
  349. ${MOD_LIST_JANSSON}
  350. ${MOD_LIST_JANSSON_EVENT}
  351. ${MOD_LIST_GEOIP2}
  352. ${MOD_LIST_ERLANG}
  353. ${MOD_LIST_SYSTEMD}
  354. ${MOD_LIST_HTTP_ASYNC}
  355. ${MOD_LIST_NSQ}
  356. ${MOD_LIST_RABBITMQ}
  357. ${MOD_LIST_JSDT}
  358. ${MOD_LIST_PHONENUM}
  359. ${MOD_LIST_KAFKA}
  360. ${MOD_LIST_MQTT}
  361. ${MOD_LIST_NATS}
  362. ${MOD_LIST_RUXC}
  363. ${MOD_LIST_SECSIPID}
  364. ${MOD_LIST_JWT}
  365. ${MOD_LIST_LWSC}
  366. ${MOD_LIST_STIRSHAKEN}
  367. ${MOD_LIST_TLSA}
  368. ${MOD_LIST_TLS_WOLFSSL}
  369. ${MOD_LIST_MICROHTTPD}
  370. ${MOD_LIST_NGHTTP2}
  371. ${MOD_LIST_GCRYPT}
  372. ${MOD_LIST_RTP_MEDIA_SERVER})
  373. # sort the list
  374. list(SORT MOD_LIST_ALL)
  375. # --- Groups defined for source code compilation ###
  376. # groups are sets of modules selected by compile target interest (should be
  377. # built by combining lists)
  378. # Modules in this group are the default compiled modules due to no external
  379. # compile or link dependencies
  380. set(MODULE_GROUP_ALL ${MOD_LIST_ALL})
  381. set(MODULE_GROUP_DEFAULT ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
  382. ${MOD_LIST_DBUID} ${MOD_LIST_DEVEL} ${MOD_LIST_JSDT})
  383. # Modules in this group are the default compiled modules due to no
  384. # internal/external compile or link dependencies
  385. # module_group_standard=$(mod_list_basic) $(mod_list_extra) \ $(mod_list_devel)
  386. # $(mod_list_jsdt)
  387. set(MODULE_GROUP_STANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DEVEL}
  388. ${MOD_LIST_JSDT})
  389. # Modules in this group are considered a standard part due to widespread usage,
  390. # but they have dependencies that must be satisfied for compilation (e.g., lcr,
  391. # radius, presence, tls, ...). module_group_common=$(mod_list_db)
  392. # $(mod_list_dbuid) \ $(mod_list_pcre) $(mod_list_radius) \ $(mod_list_xmldeps)
  393. # $(mod_list_presence) \ $(mod_list_tlsdeps)
  394. set(MODULE_GROUP_COMMON
  395. ${MOD_LIST_DB}
  396. ${MOD_LIST_DBUID}
  397. ${MOD_LIST_PCRE}
  398. ${MOD_LIST_RADIUS}
  399. ${MOD_LIST_XMLDEPS}
  400. ${MOD_LIST_PRESENCE}
  401. ${MOD_LIST_TLSDEPS})
  402. # For db use (db modules, excluding drivers) module_group_db=$(mod_list_db)
  403. set(MODULE_GROUP_DB ${MOD_LIST_DB})
  404. # For mysql module_group_mysql_driver=$(mod_list_mysql)
  405. # module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
  406. set(MODULE_GROUP_MYSQL_DRIVER ${MOD_LIST_MYSQL})
  407. set(MODULE_GROUP_MYSQL ${MODULE_GROUP_MYSQL_DRIVER} ${MODULE_GROUP_DB})
  408. # For postgress module_group_postgres_driver=$(mod_list_postgres)
  409. # module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
  410. set(MODULE_GROUP_POSTGRES_DRIVER ${MOD_LIST_POSTGRES})
  411. set(MODULE_GROUP_POSTGRES ${MODULE_GROUP_POSTGRES_DRIVER} ${MODULE_GROUP_DB})
  412. # For sqlite module_group_sqlite_driver=$(mod_list_sqlite)
  413. # module_group_sqlite=$(module_group_sqlite_driver) $(module_group_db)
  414. set(MODULE_GROUP_SQLITE_DRIVER ${MOD_LIST_SQLITE})
  415. set(MODULE_GROUP_SQLITE ${MODULE_GROUP_SQLITE_DRIVER} ${MODULE_GROUP_DB})
  416. # For radius
  417. set(MODULE_GROUP_RADIUS ${MODULE_LIST_RADIUS})
  418. # For presence kamailio modules
  419. set(MODULE_GROUP_PRESENCE ${MOD_LIST_PRESENCE})
  420. # For cassandra
  421. set(MODULE_GROUP_CASSANDRA_DRIVER ${MODULE_LIST_CASSANDRA})
  422. set(MODULE_GROUP_CASSANDRA ${MODULE_GROUP_CASSANDRA_DRIVER} ${MODULE_GROUP_DB})
  423. # For all modules not compiled by default
  424. # list(FILTER MOD_LIST_ALL EXCLUDE REGEX "${MODULE_GROUP_DEFAULT}")
  425. # for all protocols (excl. local ones such as unix, tcp, etc.)
  426. set(AVAILABLE_GROUPS ALL DEFAULT STANDARD COMMON)
  427. # --- Groups defined for pacKaging ###
  428. # Standard modules in main pkg
  429. set(MODULE_GROUP_KSTANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
  430. ${MOD_LIST_DBUID} ${MOD_LIST_PCRE} ${MOD_LIST_JSDT})
  431. # Standard modules without any dependencies (such as pcre)
  432. set(MODULE_GROUP_KMINI ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
  433. ${MOD_LIST_DBUID} ${MOD_LIST_JSDT})
  434. # pkg pcre module
  435. set(MODULE_GROUP_KPCRE ${MOD_LIST_PCRE})
  436. # pkg mysql module
  437. set(MODULE_GROUP_KMYSQL ${MOD_LIST_MYSQL})
  438. # pkg postgress module
  439. set(MODULE_GROUP_KPOSTGRES ${MOD_LIST_POSTGRES})
  440. # pkg cpl module
  441. set(MODULE_GROUP_KCPL ${MOD_LIST_CPL})
  442. # pkg xml modules
  443. set(MODULE_GROUP_KXML ${MOD_LIST_XMLDEPS})
  444. # pkg radius modules
  445. set(MODULE_GROUP_KRADIUS ${MOD_LIST_RADIUS})
  446. # pkg unixodbc module
  447. set(MODULE_GROUP_KUNIXODBC ${MOD_LIST_UNIXODBC})
  448. # pkg perl module
  449. set(MODULE_GROUP_KPERL ${MOD_LIST_PERLDEPS})
  450. # pkg snmpstats module
  451. set(MODULE_GROUP_KSNMPSTATS ${MOD_LIST_SNMPSTATS})
  452. # pkg xmpp module
  453. set(MODULE_GROUP_KXMPP ${MOD_LIST_XMPP})
  454. # pkg berkeley module
  455. set(MODULE_GROUP_KBERKELEY ${MOD_LIST_BERKELEY})
  456. # pkg ldap modules
  457. set(MODULE_GROUP_KLDAP ${MOD_LIST_LDAP})
  458. # pkg utils module
  459. set(MODULE_GROUP_KUTILS ${MOD_LIST_UTILS})
  460. # pkg https_async module
  461. set(MODULE_GROUP_KHTTP_ASYNC ${MOD_LIST_HTTP_ASYNC})
  462. # pkg memcached module
  463. set(MODULE_GROUP_KMEMCACHED ${MOD_LIST_MEMCACHED})
  464. # pkg tls module
  465. set(MODULE_GROUP_KTLS_BASIC ${MOD_LIST_TLSDEPS})
  466. # pkg tls module with curl
  467. if(KTLS_INCLUDE_TLSA)
  468. set(MODULE_GROUP_KTLS ${MOD_LIST_TLSDEPS} ${MOD_LIST_TLSA})
  469. else()
  470. set(MODULE_GROUP_KTLS ${MOD_LIST_TLSDEPS})
  471. set(MODULE_GROUP_KTLSA ${MOD_LIST_TLSA})
  472. endif()
  473. # pkg tls_wolfssl module
  474. set(MODULE_GROUP_KTLS_WOLFSSL ${MOD_LIST_TLS_WOLFSSL})
  475. # pkg websocket module
  476. set(MODULE_GROUP_KWEBSOCKET ${MOD_LIST_WEBSOCKET})
  477. # pkg presence modules
  478. set(MODULE_GROUP_KPRESENCE ${MOD_LIST_PRESENCE})
  479. # pkg lua module
  480. set(MODULE_GROUP_KLUA ${MOD_LIST_LUA})
  481. # pkg python module
  482. set(MODULE_GROUP_KPYTHON ${MOD_LIST_PYTHON})
  483. # pkg python3 module
  484. set(MODULE_GROUP_KPYTHON3 ${MOD_LIST_PYTHON3})
  485. # pkg ruby module
  486. set(MODULE_GROUP_KRUBY ${MOD_LIST_RUBY})
  487. # pkg geoip module
  488. set(MODULE_GROUP_KGEOIP ${MOD_LIST_GEOIP})
  489. # pkg geoip2 module
  490. set(MODULE_GROUP_KGEOIP2 ${MOD_LIST_GEOIP2})
  491. # pkg sqlite module
  492. set(MODULE_GROUP_KSQLITE ${MOD_LIST_SQLITE})
  493. # K json modules
  494. set(MODULE_GROUP_KJSON_BASIC ${MOD_LIST_JSON})
  495. # K json modules with libevent
  496. set(MODULE_GROUP_KJSON ${MOD_LIST_JSON} ${MOD_LIST_JSON_EVENT})
  497. # K jansson modules
  498. set(MODULE_GROUP_KJANSSON_BASIC ${MOD_LIST_JANSSON})
  499. # K jansson modules with libevent
  500. set(MODULE_GROUP_KJANSSON ${MOD_LIST_JANSSON} ${MOD_LIST_JANSSON_EVENT})
  501. # pkg redis module
  502. set(MODULE_GROUP_KREDIS ${MOD_LIST_REDIS})
  503. # pkg IMS modules
  504. set(MODULE_GROUP_KIMS ${MOD_LIST_IMS})
  505. # pkg outbound module
  506. set(MODULE_GROUP_KOUTBOUND ${MOD_LIST_OUTBOUND})
  507. # pkg java module
  508. set(MODULE_GROUP_KJAVA ${MOD_LIST_JAVA})
  509. # pkg dnssec module
  510. set(MODULE_GROUP_KDNSSEC ${MOD_LIST_DNSSEC})
  511. # pkg sctp module
  512. set(MODULE_GROUP_KSCTP ${MOD_LIST_SCTP})
  513. # pkg auth_ephemeral module
  514. set(MODULE_GROUP_KAUTHEPH ${MOD_LIST_AUTHEPH})
  515. # pkg gzcompress module
  516. set(MODULE_GROUP_KGZCOMPRESS ${MOD_LIST_GZCOMPRESS})
  517. # pkg uuid module
  518. set(MODULE_GROUP_KUUID ${MOD_LIST_UUID})
  519. # pkg libev modules
  520. set(MODULE_GROUP_KEV ${MOD_LIST_EV})
  521. # pkg jwt module
  522. set(MODULE_GROUP_KJWT ${MOD_LIST_JWT})
  523. # pkg lwsc module
  524. set(MODULE_GROUP_KLWSC ${MOD_LIST_LWSC})
  525. # pkg stirshaken module
  526. set(MODULE_GROUP_KSTIRSHAKEN ${MOD_LIST_STIRSHAKEN})
  527. # pkg kazoo module
  528. set(MODULE_GROUP_KKAZOO ${MOD_LIST_KAZOO})
  529. # pkg mongodb modules
  530. set(MODULE_GROUP_KMONGODB ${MOD_LIST_MONGODB})
  531. # pkg cnxcc module
  532. set(MODULE_GROUP_KCNXCC ${MOD_LIST_CNXCC})
  533. # pkg erlang module
  534. set(MODULE_GROUP_KERLANG ${MOD_LIST_ERLANG})
  535. # pkg systemd module
  536. set(MODULE_GROUP_KSYSTEMD ${MOD_LIST_SYSTEMD})
  537. # K nsq modules
  538. set(MODULE_GROUP_KNSQ ${MOD_LIST_NSQ})
  539. # K rabbitmq modules
  540. set(MODULE_GROUP_KRABBITMQ ${MOD_LIST_RABBITMQ})
  541. # K phonenumber modules
  542. set(MODULE_GROUP_KPHONENUM ${MOD_LIST_PHONENUM})
  543. # K kafka modules
  544. set(MODULE_GROUP_KKAFKA ${MOD_LIST_KAFKA})
  545. # K mqtt modules
  546. set(MODULE_GROUP_KMQTT ${MOD_LIST_MQTT})
  547. # K nats modules
  548. set(MODULE_GROUP_KNATS ${MOD_LIST_NATS})
  549. # K ruxc modules
  550. set(MODULE_GROUP_KRUXC ${MOD_LIST_RUXC})
  551. # K microhttpd module
  552. set(MODULE_GROUP_KMICROHTTPD ${MOD_LIST_MICROHTTPD})
  553. # K nghttp2 module
  554. set(MODULE_GROUP_KNGHTTP2 ${MOD_LIST_NGHTTP2})
  555. # K gcrypt module
  556. set(MODULE_GROUP_KGCRYPT ${MOD_LIST_GCRYPT})
  557. # K secsipid modules
  558. set(MODULE_GROUP_KSECSIPID ${MOD_LIST_SECSIPID})
  559. # K rtp_media_server modules
  560. set(MODULE_GROUP_KRTP_MEDIA_SERVER ${MOD_LIST_RTP_MEDIA_SERVER})
  561. # list of static modules
  562. set(STATIC_MODULES "")
  563. list(
  564. APPEND
  565. AVAILABLE_GROUPS
  566. KSTANDARD
  567. KMINI
  568. KPCRE
  569. KMYSQL
  570. KPOSTGRES
  571. KCPL
  572. KXML
  573. KRADIUS
  574. KUNIXODBC
  575. KPERL
  576. KSNMPSTATS
  577. KXMPP
  578. KBERKELEY
  579. KLDAP
  580. KUTILS
  581. KHTTP_ASYNC
  582. KMEMCACHED
  583. KTLS_BASIC
  584. KTLS
  585. KTLS_WOLFSSL
  586. KWEBSOCKET
  587. KPRESENCE
  588. KLUA
  589. KPYTHON
  590. KPYTHON3
  591. KRUBY
  592. KGEOIP
  593. KGEOIP2
  594. KSQLITE
  595. KJSON_BASIC
  596. KJSON
  597. KJANSSON_BASIC
  598. KJANSSON
  599. KREDIS
  600. KIMS
  601. KOUTBOUND
  602. KJAVA
  603. KDNSSEC
  604. KSCTP
  605. KAUTHEPH
  606. KGZCOMPRESS
  607. KUUID
  608. KEV
  609. KJWT
  610. KLWSC
  611. KSTIRSHAKEN
  612. KKAZOO
  613. KMONGODB
  614. KCNXCC
  615. KERLANG
  616. KSYSTEMD
  617. KNSQ
  618. KRABBITMQ
  619. KPHONENUM
  620. KKAFKA
  621. KMQTT
  622. KNATS
  623. KRUXC
  624. KMICROHTTPD
  625. KNGHTTP2
  626. KGCRYPT
  627. KSECSIPID
  628. KRT_MEDIA_SERVER)
  629. # # Option to allow the user to define which group to build
  630. # set(SELECTED_PACKAGE_GROUP
  631. # ""
  632. # CACHE STRING "Select the package group to build from"
  633. # PARENT_SCOPE
  634. # )
  635. # set_property(CACHE SELECTED_PACKAGE_GROUP PROPERTY STRINGS ${PACKAGE_GROUPS})
  636. # # Ensure the selected group is valid
  637. # if(NOT SELECTED_PACKAGE_GROUP IN_LIST PACKAGE_GROUPS)
  638. # message(
  639. # FATAL_ERROR
  640. # "Invalid package group selected: ${SELECTED_PACKAGE_GROUP}. Please choose from: ${PACKAGE_GROUPS}."
  641. # )
  642. # endif()
  643. # message(STATUS "Building package group: ${SELECTED_PACKAGE_GROUP}")