Warning, /plasma/drkonqi/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_definitions(-DTRANSLATION_DOMAIN=\"drkonqi\")
0002 
0003 include(CheckFunctionExists)
0004 
0005 check_function_exists("strsignal" HAVE_STRSIGNAL)
0006 check_function_exists("uname" HAVE_UNAME)
0007 
0008 if(NOT DEBUG_PACKAGE_INSTALLER_NAME)
0009     set(DEBUG_PACKAGE_INSTALLER_NAME "installdbgsymbols.sh")
0010 endif()
0011 
0012 configure_file(config-drkonqi.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-drkonqi.h)
0013 
0014 add_subdirectory(bugzillaintegration/libbugzilla)
0015 add_subdirectory(data)
0016 add_subdirectory(parser)
0017 
0018 set(drkonqi_SRCS
0019     drkonqidialog.cpp
0020     statuswidget.cpp
0021     backtraceratingwidget.cpp
0022     backtracewidget.cpp
0023     backtracegenerator.cpp
0024     drkonqi.cpp
0025     drkonqibackends.cpp
0026     detachedprocessmonitor.cpp
0027     debugpackageinstaller.cpp
0028     systeminformation.cpp
0029     crashedapplication.cpp
0030     debugger.cpp
0031     debuggerlaunchers.cpp
0032     ptracer.cpp
0033     debuggermanager.cpp
0034     statusnotifier.cpp
0035     statusnotifier_activationclosetimer.cpp
0036     linuxprocmapsparser.cpp
0037     drkonqi_globals.cpp
0038     qmlextensions/platformmodel.cpp
0039     qmlextensions/reproducibilitymodel.cpp
0040     qmlextensions/credentialstore.cpp
0041     qmlextensions/commentmodel.cpp
0042     qmlextensions/qobjectlistmodel.cpp
0043     qmlextensions/doctore.cpp
0044     drkonqidialog.h
0045     statuswidget.h
0046     backtraceratingwidget.h
0047     backtracewidget.h
0048     backtracegenerator.h
0049     drkonqi.h
0050     drkonqibackends.h
0051     detachedprocessmonitor.h
0052     debugpackageinstaller.h
0053     systeminformation.h
0054     crashedapplication.h
0055     debugger.h
0056     debuggerlaunchers.h
0057     ptracer.h
0058     debuggermanager.h
0059     statusnotifier.h
0060     statusnotifier_activationclosetimer.h
0061     linuxprocmapsparser.h
0062     drkonqi_globals.h
0063     qmlextensions/platformmodel.h
0064     qmlextensions/reproducibilitymodel.h
0065     qmlextensions/credentialstore.h
0066     qmlextensions/commentmodel.h
0067     qmlextensions/qobjectlistmodel.h
0068     qmlextensions/doctore.h
0069 )
0070 
0071 ki18n_wrap_ui(drkonqi_SRCS
0072     ui/maindialog.ui
0073     ui/backtracewidget.ui
0074 )
0075 
0076 # if BACKTRACE_PARSER_DEBUG is enabled, it will show both the
0077 # parsed and the unparsed backtrace in the backtrace widget.
0078 # Comment this out for release.
0079 #add_definitions(-DBACKTRACE_PARSER_DEBUG)
0080 
0081 set(drkonqi_SRCS
0082     ${drkonqi_SRCS}
0083     bugzillaintegration/bugzillalib.cpp
0084     bugzillaintegration/reportinterface.cpp
0085     bugzillaintegration/productmapping.cpp
0086     bugzillaintegration/bugzillalib.h
0087     bugzillaintegration/reportinterface.h
0088     bugzillaintegration/productmapping.h
0089 )
0090 
0091 ecm_qt_declare_logging_category(
0092     drkonqi_SRCS
0093     HEADER drkonqi_debug.h
0094     IDENTIFIER DRKONQI_LOG
0095     CATEGORY_NAME org.kde.drkonqi
0096     DESCRIPTION "drkonqi"
0097     EXPORT DRKONQI
0098 )
0099 
0100 # transient static lib we can use to link autotests against
0101 add_library(DrKonqiInternal STATIC ${drkonqi_SRCS})
0102 kconfig_add_kcfg_files(DrKonqiInternal GENERATE_MOC settings.kcfgc)
0103 
0104 target_link_libraries(
0105     DrKonqiInternal
0106     DrKonqiSentryInternal
0107     KF6::I18n
0108     KF6::CoreAddons
0109     KF6::ConfigGui
0110     KF6::JobWidgets
0111     KF6::KIOCore
0112     KF6::KIOGui
0113     KF6::Crash
0114     KF6::WindowSystem
0115     Qt::DBus
0116     Qt::Concurrent
0117     Qt::Qml
0118     KF6::WidgetsAddons
0119     KF6::Wallet
0120     KF6::Notifications # for status notifier
0121     KF6::IdleTime # hide status notifier only if user saw it
0122     KF6::SyntaxHighlighting # Backtrace Highlighting
0123     KF6::StatusNotifierItem
0124     drkonqi_backtrace_parser
0125     qbugzilla
0126 )
0127 
0128 if(Systemd_FOUND)
0129     add_subdirectory(coredump)
0130 
0131     target_sources(DrKonqiInternal PRIVATE coredumpbackend.cpp coredumpbackend.h)
0132     target_link_libraries(DrKonqiInternal drkonqi-coredump) # needed for logs extraction
0133     target_link_libraries(DrKonqiInternal drkonqi-coredumpexcavator)
0134     target_compile_definitions(DrKonqiInternal PRIVATE SYSTEMD_AVAILABLE)
0135 endif()
0136 
0137 add_executable(drkonqi main.cpp qml/qml.qrc)
0138 ecm_mark_nongui_executable(drkonqi)
0139 target_link_libraries(drkonqi DrKonqiInternal)
0140 
0141 install(TARGETS drkonqi DESTINATION ${KDE_INSTALL_LIBEXECDIR})
0142 configure_file(org.kde.drkonqi.desktop.cmake ${CMAKE_BINARY_DIR}/src/org.kde.drkonqi.desktop)
0143 install(PROGRAMS ${CMAKE_BINARY_DIR}/src/org.kde.drkonqi.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0144 
0145 add_subdirectory(sentry)
0146 
0147 if(BUILD_TESTING)
0148     add_subdirectory(tests)
0149     add_subdirectory(bugzillaintegration/libbugzilla/autotests)
0150 endif()