TDE network applications
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 7.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. #################################################
  2. #
  3. # (C) 2010-2011 Serghei Amelian
  4. # serghei (DOT) amelian (AT) gmail.com
  5. #
  6. # Improvements and feedback are welcome
  7. #
  8. # This file is released under GPL >= 2
  9. #
  10. #################################################
  11. cmake_minimum_required( VERSION 2.8 )
  12. ##### general package setup #####################
  13. project( tdenetwork )
  14. set( PACKAGE tdenetwork )
  15. set( VERSION R14.1.0 )
  16. ##### include essential cmake modules ###########
  17. include( FindPkgConfig )
  18. include( CheckFunctionExists )
  19. include( CheckSymbolExists )
  20. include( CheckIncludeFile )
  21. include( CheckIncludeFileCXX )
  22. include( CheckCXXSourceCompiles )
  23. include( CheckLibraryExists )
  24. include( CheckStructHasMember )
  25. ##### include our cmake modules #################
  26. set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
  27. include( TDEMacros )
  28. ##### setup install paths #######################
  29. include( TDESetupPaths )
  30. tde_setup_paths( )
  31. ##### optional stuff ############################
  32. option( WITH_JINGLE "Enable jingle support (kopete)" OFF )
  33. option( WITH_SPEEX "Enable speex support (for jingle)" OFF )
  34. option( WITH_GSM "Enable GSM SMS support (kopete/sms)" OFF )
  35. option( WITH_XMMS "Enable XMMS support (kopete/nowlistening)" OFF )
  36. option( WITH_ARTS "Enable aRts support" OFF )
  37. option( WITH_SLP "Enable OpenSLP support (krdc, krfb)" OFF )
  38. ##### options comments ##########################
  39. # WITH_JINGLE affects kopete[protocol_jabber]
  40. # WITH_SPEEX affects kopete[protocol_jabber+jingle]
  41. # WITH_WEBCAM affects kopete[protocol_msn]
  42. # WITH_GSM affects kopete[protocol_sms]
  43. # WITH_GSM adds another backend to sms protocol in addition
  44. # to smsclient and smssend, the gsmlib
  45. # WITH_XMMS affects kopete[plugin_nowlistening]
  46. # WITH_ARTS affects wifi
  47. # WITH_SLP affects krdc krfb
  48. ##### kopete protocols ##########################
  49. option( BUILD_KOPETE_PROTOCOL_ALL "Build all kopete protocols" OFF )
  50. option( BUILD_KOPETE_PROTOCOL_TESTBED "Build kopete protocol testbed" ${BUILD_KOPETE_PROTOCOL_ALL} )
  51. option( BUILD_KOPETE_PROTOCOL_GROUPWISE "Build kopete protocol groupwise" ${BUILD_KOPETE_PROTOCOL_ALL} )
  52. option( BUILD_KOPETE_PROTOCOL_IRC "Build kopete protocol irc" ${BUILD_KOPETE_PROTOCOL_ALL} )
  53. option( BUILD_KOPETE_PROTOCOL_OSCAR "Build kopete protocol oscar" ${BUILD_KOPETE_PROTOCOL_ALL} )
  54. option( BUILD_KOPETE_PROTOCOL_YAHOO "Build kopete protocol yahoo" ${BUILD_KOPETE_PROTOCOL_ALL} )
  55. option( BUILD_KOPETE_PROTOCOL_WINPOPUP "Build kopete protocol winpopup" ${BUILD_KOPETE_PROTOCOL_ALL} )
  56. option( BUILD_KOPETE_PROTOCOL_SMS "Build kopete protocol sms" ${BUILD_KOPETE_PROTOCOL_ALL} )
  57. option( BUILD_KOPETE_PROTOCOL_JABBER "Build kopete protocol jabber" ${BUILD_KOPETE_PROTOCOL_ALL} )
  58. option( BUILD_KOPETE_PROTOCOL_GADU "Build kopete protocol gadu" ${BUILD_KOPETE_PROTOCOL_ALL} )
  59. option( BUILD_KOPETE_PROTOCOL_MEANWHILE "Build kopete protocol meanwhile" ${BUILD_KOPETE_PROTOCOL_ALL} )
  60. ##### kopete plugins ############################
  61. option( BUILD_KOPETE_PLUGIN_ALL "Build all kopete plugins" OFF )
  62. option( BUILD_KOPETE_PLUGIN_LATEX "Build latex kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  63. option( BUILD_KOPETE_PLUGIN_AUTOREPLACE "Build autoreplace kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  64. option( BUILD_KOPETE_PLUGIN_HISTORY "Build history kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  65. option( BUILD_KOPETE_PLUGIN_CONTACTNOTES "Build contactnotes kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  66. option( BUILD_KOPETE_PLUGIN_CRYPTOGRAPHY "Build cryptography kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  67. option( BUILD_KOPETE_PLUGIN_CONNECTIONSTATUS "Build connectionstatus kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  68. option( BUILD_KOPETE_PLUGIN_TRANSLATOR "Build translator kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  69. option( BUILD_KOPETE_PLUGIN_NOWLISTENING "Build nowlistening kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  70. option( BUILD_KOPETE_PLUGIN_WEBPRESENCE "Build webpresence kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  71. option( BUILD_KOPETE_PLUGIN_TEXTEFFECT "Build texteffect kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  72. option( BUILD_KOPETE_PLUGIN_HIGHLIGHT "Build highlight kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  73. option( BUILD_KOPETE_PLUGIN_ALIAS "Build alias kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  74. option( BUILD_KOPETE_PLUGIN_MOTIONAUTOAWAY "Build motionautoaway kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  75. option( BUILD_KOPETE_PLUGIN_NETMEETING "Build netmeeting kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  76. option( BUILD_KOPETE_PLUGIN_ADDBOOKMARKS "Build addbookmarks kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  77. option( BUILD_KOPETE_PLUGIN_STATISTICS "Build statistics kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  78. option( BUILD_KOPETE_PLUGIN_SMPPPDCS "Build smpppdcs kopete plugin" ${BUILD_KOPETE_PLUGIN_ALL} )
  79. ##### user requested modules ####################
  80. option( BUILD_ALL "Build all" OFF )
  81. option( BUILD_DCOPRSS "Build dcoprss" ${BUILD_ALL} )
  82. option( BUILD_DOC "Build doc" ${BUILD_ALL} )
  83. option( BUILD_FILESHARING "Build filesharing" ${BUILD_ALL} )
  84. option( BUILD_KDICT "Build kdict" ${BUILD_ALL} )
  85. option( BUILD_TDEDNSSD "Build tdednssd" ${BUILD_ALL} )
  86. option( BUILD_TDEFILE_PLUGINS "Build tdefile-plugins" ${BUILD_ALL} )
  87. option( BUILD_KGET "Build kget" ${BUILD_ALL} )
  88. option( BUILD_KNEWSTICKER "Build knewsticker" ${BUILD_ALL} )
  89. option( BUILD_KOPETE "Build kopete" ${BUILD_ALL} )
  90. option( BUILD_KPF "Build kpf" ${BUILD_ALL} )
  91. option( BUILD_KPPP "Build kppp" ${BUILD_ALL} )
  92. option( BUILD_KRDC "Build krdc" ${BUILD_ALL} )
  93. option( BUILD_KRFB "Build krfb" ${BUILD_ALL} )
  94. option( BUILD_KSIRC "Build ksirc" ${BUILD_ALL} )
  95. option( BUILD_KTALKD "Build ktalkd" ${BUILD_ALL} )
  96. option( BUILD_LANBROWSING "Build lanbrowsing" ${BUILD_ALL} )
  97. option( BUILD_LIBRSS "Build librss" ${BUILD_ALL} )
  98. option( BUILD_WIFI "Build wifi" ${BUILD_ALL} )
  99. ##### configure checks ##########################
  100. include( ConfigureChecks.cmake )
  101. ###### global compiler settings #################
  102. add_definitions(
  103. -DHAVE_CONFIG_H
  104. )
  105. set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
  106. set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
  107. set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
  108. ##### tdenetwork directories ####################
  109. if (BUILD_KRDC OR BUILD_KRFB)
  110. set ( BUILD_LIBTDEVNC ON )
  111. endif (BUILD_KRDC OR BUILD_KRFB)
  112. tde_conditional_add_subdirectory( BUILD_LIBTDEVNC libtdevnc )
  113. tde_conditional_add_subdirectory( BUILD_DCOPRSS dcoprss )
  114. tde_conditional_add_subdirectory( BUILD_DOC doc )
  115. tde_conditional_add_subdirectory( BUILD_FILESHARING filesharing )
  116. tde_conditional_add_subdirectory( BUILD_KDICT kdict )
  117. tde_conditional_add_subdirectory( BUILD_TDEDNSSD tdednssd )
  118. tde_conditional_add_subdirectory( BUILD_TDEFILE_PLUGINS tdefile-plugins )
  119. tde_conditional_add_subdirectory( BUILD_KGET kget )
  120. tde_conditional_add_subdirectory( BUILD_KNEWSTICKER knewsticker )
  121. tde_conditional_add_subdirectory( BUILD_KOPETE kopete )
  122. tde_conditional_add_subdirectory( BUILD_KPF kpf )
  123. tde_conditional_add_subdirectory( BUILD_KPPP kppp )
  124. tde_conditional_add_subdirectory( BUILD_KRDC krdc )
  125. tde_conditional_add_subdirectory( BUILD_KRFB krfb )
  126. tde_conditional_add_subdirectory( BUILD_KSIRC ksirc )
  127. tde_conditional_add_subdirectory( BUILD_KTALKD ktalkd )
  128. tde_conditional_add_subdirectory( BUILD_LANBROWSING lanbrowsing )
  129. tde_conditional_add_subdirectory( BUILD_LIBRSS librss )
  130. tde_conditional_add_subdirectory( BUILD_WIFI wifi )
  131. ##### write configure files #####################
  132. configure_file( config.h.cmake config.h @ONLY )