groups.cmake 18 KB

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