groups.cmake 18 KB

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