project(kdecore) # Generate config-kstandarddirs.h configure_file( config-kstandarddirs.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kstandarddirs.h ) # Generate kdeversion.h configure_file( util/kdeversion.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdeversion.h ) # Configure checks for date/ include(date/ConfigureChecks.cmake) configure_file( date/config-date.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/date/config-date.h ) include_directories(${CMAKE_CURRENT_BINARY_DIR}/date) # Configure checks for compression/ include(compression/ConfigureChecks.cmake) configure_file( compression/config-compression.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/compression/config-compression.h ) include_directories(${CMAKE_CURRENT_BINARY_DIR}/compression) include_directories( ${KDE4_KDECORE_INCLUDES} ${KDE4_KDEUI_INCLUDES} ${LIBDEFLATE_INCLUDES} ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/auth ${CMAKE_CURRENT_SOURCE_DIR}/sonnet ) # kdecore_OPTIONAL_SRCS is used to collect source files # which are not always compiled into kdecore # if it's used, *always* append to it set(kdecore_OPTIONAL_SRCS) # same for optional libs set(kdecore_OPTIONAL_LIBS) add_definitions(-DQT_NO_CAST_FROM_ASCII) # compile bzip2 support if available if(BZIP2_FOUND) include_directories(${BZIP2_INCLUDE_DIR}) set(kdecore_OPTIONAL_LIBS ${kdecore_OPTIONAL_LIBS} ${BZIP2_LIBRARIES}) endif(BZIP2_FOUND) # compile lzma support if available if(LIBLZMA_FOUND) include_directories(${LIBLZMA_INCLUDE_DIRS}) set(kdecore_OPTIONAL_LIBS ${kdecore_OPTIONAL_LIBS} ${LIBLZMA_LIBRARIES}) endif(LIBLZMA_FOUND) # compile Gettext support if available if(LIBINTL_FOUND) include_directories(${LIBINTL_INCLUDE_DIR}) set(kdecore_OPTIONAL_LIBS ${kdecore_OPTIONAL_LIBS} ${LIBINTL_LIBRARIES}) endif() # compile Enchant if available if(ENCHANT_FOUND) include_directories( ${ENCHANT_INCLUDE_DIR} "${ENCHANT_INCLUDE_DIR}/.." ) set(kdecore_OPTIONAL_SRCS ${kdecore_OPTIONAL_SRCS} sonnet/enchantclient.cpp sonnet/enchantdict.cpp ) set(kdecore_OPTIONAL_LIBS ${kdecore_OPTIONAL_LIBS} ${ENCHANT_LIBRARIES}) endif() add_subdirectory(kconfig_compiler) if(ENABLE_TESTING) add_subdirectory(tests) add_subdirectory(sonnet/tests) endif() ########### next target ############### set(kdecore_LIB_SRCS compression/kcompressor.cpp compression/kdecompressor.cpp config/kconfig.cpp config/kconfigbase.cpp config/kconfigdata.cpp config/kconfiggroup.cpp config/kconfigini.cpp config/kdesktopfile.cpp config/ksharedconfig.cpp config/kcoreconfigskeleton.cpp config/ksettings.cpp date/kcalendarera.cpp date/kcalendarsystem.cpp date/kcalendarsystemcoptic.cpp date/kcalendarsystemethiopian.cpp date/kcalendarsystemqdate.cpp date/kcalendarsystemgregorian.cpp date/kcalendarsystemislamiccivil.cpp date/kcalendarsystemhebrew.cpp date/kcalendarsystemindiannational.cpp date/kcalendarsystemjalali.cpp date/kcalendarsystemjapanese.cpp date/kcalendarsystemjulian.cpp date/kcalendarsystemminguo.cpp date/kcalendarsystemthai.cpp date/kdatetime.cpp date/kdatetimeformatter.cpp date/kdatetimeparser.cpp date/kdayperiod.cpp date/klocalizeddate.cpp date/ktimezone.cpp date/ksystemtimezone.cpp io/kdebug.cpp io/kdirwatch.cpp io/kfilesystemtype_p.cpp io/kmessage.cpp io/kmountpoint.cpp io/kprocess.cpp io/ksavefile.cpp io/ktempdir.cpp io/ktemporaryfile.cpp io/kurl.cpp jobs/kcompositejob.cpp jobs/kjob.cpp jobs/kjobuidelegate.cpp jobs/kjobtrackerinterface.cpp kernel/kauthorization.cpp kernel/kaboutdata.cpp kernel/kcmdlineargs.cpp kernel/kdbusconnectionpool.cpp kernel/kglobal.cpp kernel/kcomponentdata.cpp kernel/kstandarddirs.cpp kernel/ktoolinvocation.cpp services/kfoldermimetype.cpp services/kmimetypefactory.cpp services/kmimemagicrule.cpp services/kmimetypetrader.cpp services/kmimetype.cpp services/kmimeglobsfileparser.cpp services/kmimetyperepository.cpp services/kservice.cpp services/kserviceaction.cpp services/kservicefactory.cpp services/kservicegroup.cpp services/kservicegroupfactory.cpp services/kserviceoffer.cpp services/kservicetype.cpp services/kservicetypefactory.cpp services/kservicetypetrader.cpp services/ktraderparse.cpp services/ktraderparsetree.cpp services/yacc.c services/lex.c services/kplugininfo.cpp sonnet/loader.cpp sonnet/speller.cpp sonnet/filter.cpp sonnet/settings.cpp sonnet/backgroundchecker.cpp sonnet/backgroundengine.cpp sonnet/globals.cpp localization/kcatalog.cpp localization/kcharsets.cpp localization/klocale.cpp localization/klocale_kde.cpp localization/klocalizedstring.cpp localization/kuitsemantics.cpp localization/kuitformats.cpp localization/common_helpers.cpp sycoca/ksycoca.cpp sycoca/ksycocadict.cpp sycoca/ksycocaentry.cpp sycoca/ksycocafactory.cpp sycoca/kprotocolinfo.cpp sycoca/kprotocolinfofactory.cpp text/kstringhandler.cpp util/kautostart.cpp util/kde_file.cpp util/kdedmodule.cpp util/kdevicedatabase.cpp util/kdeversion.cpp util/klauncher_iface.cpp util/kmacroexpander.cpp util/kpluginfactory.cpp util/kpluginloader.cpp util/kshell.cpp util/krandom.cpp util/kunitconversion.cpp util/qtest_kde.cpp kernel/ktoolinvocation_x11.cpp kernel/kstandarddirs_unix.cpp io/klockfile_unix.cpp util/kshell_unix.cpp util/kuser_unix.cpp util/kmacroexpander_unix.cpp ${kdecore_OPTIONAL_SRCS} ) if(NOT Q_WS_X11 AND NOT Q_WS_QWS) add_definitions(-DNO_DISPLAY) endif() add_library(kdecore ${LIBRARY_TYPE} ${kdecore_LIB_SRCS}) target_link_libraries(kdecore PRIVATE ${LIBDEFLATE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${kdecore_OPTIONAL_LIBS} ) target_link_libraries(kdecore PUBLIC ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTDBUS_LIBRARY} ) set_target_properties(kdecore PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) install( TARGETS kdecore EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS} ) ########### next target ############### configure_file( localization/all_languages.desktop ${CMAKE_CURRENT_BINARY_DIR}/all_languages @ONLY ) add_executable(kde4-config kde-config.cpp ) target_link_libraries(kde4-config ${KDE4_KDECORE_LIBS}) install(TARGETS kde4-config ${INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### generate_export_header(kdecore) install( FILES localization/entry.desktop ${CMAKE_CURRENT_BINARY_DIR}/all_languages DESTINATION ${KDE4_LOCALE_INSTALL_DIR} ) install( FILES kdebug.areas kdebugrc DESTINATION ${KDE4_CONFIG_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kdecore_export.h compression/kcompressor.h compression/kdecompressor.h config/kconfig.h config/kconfigbase.h config/kconfiggroup.h config/kdesktopfile.h config/ksharedconfig.h config/kcoreconfigskeleton.h config/ksettings.h date/kcalendarsystem.h date/kdatetime.h date/klocalizeddate.h date/ksystemtimezone.h date/ktimezone.h io/kdebug.h io/kdirwatch.h io/kmessage.h io/kprocess.h io/klockfile.h io/kmountpoint.h io/ksavefile.h io/ktempdir.h io/ktemporaryfile.h io/kurl.h jobs/kcompositejob.h jobs/kjob.h jobs/kjobuidelegate.h jobs/kjobtrackerinterface.h kernel/kaboutdata.h kernel/kauthorization.h kernel/kcmdlineargs.h kernel/kdbusconnectionpool.h kernel/kglobal.h kernel/kcomponentdata.h kernel/kstandarddirs.h kernel/ktoolinvocation.h services/kmimetype.h services/kmimetypetrader.h services/kservice.h services/kserviceaction.h services/kservicegroup.h #services/kservicefactory.h: do not install, internal API services/kservicetype.h #services/kservicetypefactory.h: do not install, internal API services/kservicetypetrader.h #services/kserviceoffer.h: do not install, internal API services/kplugininfo.h localization/kcharsets.h localization/klocale.h localization/klocalizedstring.h sycoca/kprotocolinfo.h sycoca/ksycoca.h sycoca/ksycocaentry.h sycoca/ksycocatype.h text/kstringhandler.h util/kautostart.h util/kde_file.h util/kdedmodule.h util/kdevicedatabase.h util/klauncher_iface.h util/kmacroexpander.h util/kpluginfactory.h util/kpluginloader.h util/kshell.h util/krandom.h util/kunitconversion.h util/ksharedptr.h util/ksortablelist.h util/kuser.h util/qtest_kde.h ${CMAKE_CURRENT_BINARY_DIR}/kdeversion.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR} COMPONENT Devel ) install( FILES sonnet/backgroundchecker.h sonnet/speller.h sonnet/globals.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/sonnet COMPONENT Devel ) install( FILES services/kplugininfo.desktop DESTINATION ${KDE4_SERVICETYPES_INSTALL_DIR} ) install( FILES pci.ids usb.ids kde4_pci.ids kde4_usb.ids DESTINATION ${KDE4_DATA_INSTALL_DIR}/kdevicedatabase ) install( FILES dbus_policy.stub dbus_service.stub DESTINATION ${KDE4_DATA_INSTALL_DIR}/kauth COMPONENT Devel )