Add skeleton for new TransferContainer class:
[kdenetwork.git] / CMakeLists.txt
blob860e12d30617c1a057327cd61bec5ccd171f6287
1 project(kdenetwork)
3 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
5 # search packages used by KDE
6 find_package(KDE4 REQUIRED)
7 include (KDE4Defaults)
8 include (MacroLibrary)
10 include(CheckIncludeFile)
11 include(CheckIncludeFiles)
12 include(CheckSymbolExists)
13 include(CheckFunctionExists)
14 include(CheckLibraryExists)
15 include(CheckPrototypeExists)
16 include(CheckTypeSize)
17 include(MacroBoolTo01)
18 include(MacroOptionalAddSubdirectory)
20 # If definitions like -D_GNU_SOURCE are needed for these checks they
21 # should be added to _KDE4_PLATFORM_DEFINITIONS when it is originally
22 # defined outside this file.  Here we include these definitions in
23 # CMAKE_REQUIRED_DEFINITIONS so they will be included in the build of
24 # checks below.
25 set(CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS})
26 if (WIN32)
27    set(CMAKE_REQUIRED_LIBRARIES ${KDEWIN32_LIBRARIES} )
28    set(CMAKE_REQUIRED_INCLUDES  ${KDEWIN32_INCLUDES} )
29 endif (WIN32)
31 find_package(KdepimLibs REQUIRED)
32 find_package(QCA2)
33 find_package(IW)
34 find_package(JPEG)
35 find_package(X11VidMode)
36 find_package(Decibel)
37 find_package(IDN)
38 find_package(Plasma)
40 macro_optional_find_package(DNSSD)
41 macro_optional_find_package(SLP)
42 macro_optional_find_package(IDN)
44 macro_log_feature(DNSSD_FOUND   "libdnssd" "Support for Zeroconf, needed to build dnssd"       "http://www.zeroconf.org")
45 macro_log_feature(QCA2_FOUND    "libqca2"  "Qca2 is needed to build kopete"              "Module into kdesupport" FALSE "2.0")
46 macro_log_feature(SLP_FOUND     "openslp"  "OpenSLP is needed to build krdc and krfb"         "http://www.openslp.org/")
47 macro_log_feature(IW_FOUND      "libiw"    "Wireless Tools are needed to build wifi project" "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html")
48 macro_log_feature(DECIBEL_FOUND "Decibel"  "Decibel is the KDE framework for real-time communication" "HOWTO in kopete/protocols/telepathy")
49 macro_log_feature(IDN_FOUND   "libidn" "libidn provides International Domain Name Support for Kopete's Jabber plugin"       "http://www.gnu.org/software/libidn")
50 macro_log_feature(PLASMA_FOUND "Plasma" "Plasma is a really cool replacement for kicker, needed for KNewsTicker" "Part of kdebase")
52 macro_bool_to_01(SLP_FOUND HAVE_SLP) # for both krfb and krdc
54 add_definitions ( -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
55 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
56 include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
58 macro_optional_add_subdirectory(doc)
59 macro_optional_add_subdirectory(kfile-plugins)
60 macro_optional_add_subdirectory(lanbrowsing)
61 add_subdirectory(cmake)
63 if(Q_WS_X11)
65   if(PLASMA_FOUND)
66     macro_optional_add_subdirectory(knewsticker)
67   endif(PLASMA_FOUND)
69   macro_optional_add_subdirectory(kppp)
71   #add_subdirectory(kpf)
72   if(JPEG_FOUND AND SLP_FOUND)
74     if(X11VIDMODE_FOUND)
75        macro_optional_add_subdirectory(krdc)
76     endif(X11VIDMODE_FOUND)
78     if(X11_XTest_FOUND)
79        macro_optional_add_subdirectory(krfb)
80     endif(X11_XTest_FOUND)
82   endif(JPEG_FOUND AND SLP_FOUND)
83 endif(Q_WS_X11)
85 if (DNSSD_FOUND)
86    macro_optional_add_subdirectory(kdnssd)
87 endif (DNSSD_FOUND)
89 if (QCA2_FOUND)
90    macro_optional_add_subdirectory(kopete)
91 endif (QCA2_FOUND)
93 if (IW_FOUND)
94    macro_optional_add_subdirectory(wifi)
95 endif (IW_FOUND)
97 message(STATUS "TODO: port kpf!")
98 if(NOT WIN32)
99   macro_optional_add_subdirectory(kget)
100   macro_optional_add_subdirectory(filesharing)
101   macro_optional_add_subdirectory(kdict)
102 endif(NOT WIN32)
104 macro_display_feature_log()