Allow specializations to decide when re-indexing is necessary.
[kdepim.git] / libkleo / CMakeLists.txt
blob8bf459ae70732efccb057f3f3a2e49aface12ef0
1 include_directories( ${GPGME_INCLUDES} ${Boost_INCLUDE_DIR} )
2 KDE4_NO_ENABLE_FINAL(libkleo)
3 if (KDEPIM_ONLY_KLEO)
4   add_definitions( -DKDEPIM_ONLY_KLEO )
5 endif (KDEPIM_ONLY_KLEO)
7 remove_definitions( -DQT_NO_STL )
8 add_definitions (-DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS -DQT_STL )
9 add_definitions( ${KDE4_ENABLE_EXCEPTIONS} )
10 #parts of Boost don't build with the gcc pedantic option, so remove that option
11 string(REPLACE "-pedantic" "" FOO ${CMAKE_CXX_FLAGS})
12 set(CMAKE_CXX_FLAGS "${FOO}")
14 add_subdirectory( pics )
15 add_subdirectory( backends )
16 add_subdirectory( tests )
18 ########### next target ###############
19 set(libkleo_backend_qgpgme_SRCS
20     backends/qgpgme/gnupgprocessbase.cpp
21     backends/qgpgme/qgpgmeprogresstokenmapper.cpp
22     backends/qgpgme/qgpgmebackend.cpp
23     backends/qgpgme/threadedjobmixin.cpp
24     backends/qgpgme/qgpgmekeylistjob.cpp
25     backends/qgpgme/qgpgmekeygenerationjob.cpp
26     backends/qgpgme/qgpgmeimportjob.cpp
27     backends/qgpgme/qgpgmeimportfromkeyserverjob.cpp
28     backends/qgpgme/qgpgmeexportjob.cpp
29     backends/qgpgme/qgpgmesecretkeyexportjob.cpp
30     backends/qgpgme/qgpgmechangeexpiryjob.cpp
31     backends/qgpgme/qgpgmechangeownertrustjob.cpp
32     backends/qgpgme/qgpgmechangepasswdjob.cpp
33     backends/qgpgme/qgpgmedownloadjob.cpp
34     backends/qgpgme/qgpgmedeletejob.cpp
35     backends/qgpgme/qgpgmeencryptjob.cpp
36     backends/qgpgme/qgpgmedecryptjob.cpp
37     backends/qgpgme/qgpgmesignjob.cpp
38     backends/qgpgme/qgpgmesignkeyjob.cpp
39     backends/qgpgme/qgpgmeadduseridjob.cpp
40     backends/qgpgme/qgpgmeverifydetachedjob.cpp
41     backends/qgpgme/qgpgmeverifyopaquejob.cpp
42     backends/qgpgme/qgpgmesignencryptjob.cpp
43     backends/qgpgme/qgpgmedecryptverifyjob.cpp
44     backends/qgpgme/qgpgmecryptoconfig.cpp
45     backends/qgpgme/qgpgmerefreshkeysjob.cpp
46     )
49 set(libkleo_backend_chiasmus_SRCS
50     backends/chiasmus/config_data.c
51     backends/chiasmus/obtainkeysjob.cpp
52     backends/chiasmus/symcryptrunprocessbase.cpp
53     backends/chiasmus/chiasmusjob.cpp
54     backends/chiasmus/chiasmuslibrary.cpp
55     backends/chiasmus/chiasmusbackend.cpp
56     )
59 set(libkleo_core_SRCS
60    kleo/checksumdefinition.cpp
61    kleo/cryptobackend.cpp
62    kleo/cryptobackendfactory.cpp
63    kleo/enum.cpp
64    kleo/exception.cpp
65    kleo/dn.cpp
66    kleo/job.cpp
67    kleo/multideletejob.cpp
68    kleo/hierarchicalkeylistjob.cpp
69    kleo/kconfigbasedkeyfilter.cpp
70    kleo/keyfiltermanager.cpp
71    )
73 set(libkleo_ui_SRCS    # make this a separate lib.
74    ui/keylistview.cpp
75    ui/keyselectiondialog.cpp
76    ui/keyrequester.cpp
77    ui/keyapprovaldialog.cpp
79 set(libkleo_ui_common_SRCS
80    ui/kdhorizontalline.cpp
81    ui/filenamerequester.cpp
82    ui/messagebox.cpp
83    ui/progressbar.cpp
84    ui/progressdialog.cpp
85    ui/cryptoconfigmodule.cpp
86    ui/cryptoconfigdialog.cpp
87    ui/directoryserviceswidget.cpp
88    ui/adddirectoryservicedialogimpl.cpp
89    ui/dnattributeorderconfigwidget.cpp
92 kde4_add_ui_files(libkleo_ui_common_SRCS
93     ui/adddirectoryservicedialog.ui
94     ui/directoryserviceswidget.ui
97 set(kleo_LIB_SRCS ${libkleo_core_SRCS} ${libkleo_ui_common_SRCS} ${libkleo_backend_qgpgme_SRCS})
98 set(kleo_LIB_LIBS ${KDE4_KDEUI_LIBS} ${QGPGME_LIBRARIES} ${QT_QT3SUPPORT_LIBRARY} )
99 if ( NOT KDEPIM_ONLY_KLEO )
100    set( kleo_LIB_SRCS ${kleo_LIB_SRCS} ${libkleo_backend_chiasmus_SRCS} )
101    set( kleo_LIB_LIBS ${kleo_LIB_LIBS} ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} )
102    if ( QT_QT3SUPPORT_FOUND )
103      set( kleo_LIB_SRCS ${kleo_LIB_SRCS} ${libkleo_ui_SRCS} )
104      set( kleo_LIB_LIBS ${kleo_LIB_LIBS} ${KDE4_KDE3SUPPORT_LIBS} )
105    endif( QT_QT3SUPPORT_FOUND )
106 endif ( NOT KDEPIM_ONLY_KLEO)
108 kde4_add_library(kleo SHARED ${kleo_LIB_SRCS})
109 if(WIN32)
110 target_link_libraries(kleo ${kleo_LIB_LIBS}  ${GPGME_VANILLA_LIBRARIES} )
111 else(WIN32)
112 target_link_libraries(kleo ${kleo_LIB_LIBS} )
113 endif(WIN32)
114 set_target_properties(kleo PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
115 install(TARGETS kleo ${INSTALL_TARGETS_DEFAULT_ARGS})
117 install ( FILES libkleopatrarc.desktop DESTINATION ${CONFIG_INSTALL_DIR} RENAME libkleopatrarc )