Merge remote-tracking branch 'origin/kcrash'
This commit is contained in:
commit
e8e284f724
@ -113,12 +113,24 @@ set( QT_VERSION 5.6.0 )
|
|||||||
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools Svg Quick QuickWidgets )
|
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools Svg Quick QuickWidgets )
|
||||||
find_package( YAMLCPP 0.5.1 REQUIRED )
|
find_package( YAMLCPP 0.5.1 REQUIRED )
|
||||||
find_package( PolkitQt5-1 REQUIRED )
|
find_package( PolkitQt5-1 REQUIRED )
|
||||||
|
find_package(ECM 5.18 NO_MODULE)
|
||||||
|
if( ECM_FOUND )
|
||||||
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
|
||||||
|
endif()
|
||||||
|
|
||||||
option( INSTALL_CONFIG "Install configuration files" ON )
|
option( INSTALL_CONFIG "Install configuration files" ON )
|
||||||
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
|
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
|
||||||
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF )
|
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF )
|
||||||
|
option( WITH_KF5Crash "Enable crash reporting with KCrash." ON )
|
||||||
option( BUILD_TESTING "Build the testing tree." ON )
|
option( BUILD_TESTING "Build the testing tree." ON )
|
||||||
|
|
||||||
|
find_package( KF5 5.18 COMPONENTS CoreAddons Crash OPTIONAL )
|
||||||
|
if( KF5Crash_DIR ) # Why not a _FOUND mechanism?
|
||||||
|
find_package( KF5 5.18 COMPONENTS CoreAddons REQUIRED )
|
||||||
|
else()
|
||||||
|
set( WITH_KF5Crash OFF )
|
||||||
|
endif()
|
||||||
|
|
||||||
if( BUILD_TESTING )
|
if( BUILD_TESTING )
|
||||||
enable_testing()
|
enable_testing()
|
||||||
endif ()
|
endif ()
|
||||||
@ -277,6 +289,7 @@ add_subdirectory( src )
|
|||||||
add_feature_info(Python ${WITH_PYTHON} "Python job modules")
|
add_feature_info(Python ${WITH_PYTHON} "Python job modules")
|
||||||
add_feature_info(PythonQt ${WITH_PYTHONQT} "Python view modules")
|
add_feature_info(PythonQt ${WITH_PYTHONQT} "Python view modules")
|
||||||
add_feature_info(Config ${INSTALL_CONFIG} "Install Calamares configuration")
|
add_feature_info(Config ${INSTALL_CONFIG} "Install Calamares configuration")
|
||||||
|
add_feature_info(KCrash ${WITH_KF5Crash} "Crash dumps via KCrash")
|
||||||
|
|
||||||
feature_summary(WHAT ALL)
|
feature_summary(WHAT ALL)
|
||||||
|
|
||||||
|
@ -49,6 +49,13 @@ SET_TARGET_PROPERTIES(calamares_bin
|
|||||||
RUNTIME_OUTPUT_NAME calamares
|
RUNTIME_OUTPUT_NAME calamares
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if( WITH_KF5Crash )
|
||||||
|
set( LINK_LIBRARIES
|
||||||
|
KF5::CoreAddons
|
||||||
|
KF5::Crash
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries( calamares_bin
|
target_link_libraries( calamares_bin
|
||||||
PRIVATE
|
PRIVATE
|
||||||
${CALAMARES_LIBRARIES}
|
${CALAMARES_LIBRARIES}
|
||||||
|
@ -19,11 +19,17 @@
|
|||||||
|
|
||||||
#include "CalamaresApplication.h"
|
#include "CalamaresApplication.h"
|
||||||
|
|
||||||
|
#include "CalamaresConfig.h"
|
||||||
#include "kdsingleapplicationguard/kdsingleapplicationguard.h"
|
#include "kdsingleapplicationguard/kdsingleapplicationguard.h"
|
||||||
#include "utils/CalamaresUtils.h"
|
#include "utils/CalamaresUtils.h"
|
||||||
#include "utils/Logger.h"
|
#include "utils/Logger.h"
|
||||||
#include "CalamaresConfig.h"
|
#include "CalamaresConfig.h"
|
||||||
|
|
||||||
|
#ifdef WITH_KCRASH
|
||||||
|
#include <KF5/KCrash/KCrash>
|
||||||
|
#include <KF5/KCoreAddons/KAboutData>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <QCommandLineParser>
|
#include <QCommandLineParser>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
@ -33,6 +39,22 @@ main( int argc, char* argv[] )
|
|||||||
{
|
{
|
||||||
CalamaresApplication a( argc, argv );
|
CalamaresApplication a( argc, argv );
|
||||||
|
|
||||||
|
#ifdef WITH_KCRASH
|
||||||
|
KAboutData aboutData( "calamares",
|
||||||
|
"Calamares",
|
||||||
|
a.applicationVersion(),
|
||||||
|
"The universal system installer",
|
||||||
|
KAboutLicense::GPL_V3,
|
||||||
|
QString(),
|
||||||
|
QString(),
|
||||||
|
"https://calamares.io",
|
||||||
|
"https://calamares.io/bugs" );
|
||||||
|
KAboutData::setApplicationData( aboutData );
|
||||||
|
KCrash::initialize();
|
||||||
|
KCrash::setCrashHandler();
|
||||||
|
// TODO: umount anything in /tmp/calamares-... as an emergency save function
|
||||||
|
#endif
|
||||||
|
|
||||||
QCommandLineParser parser;
|
QCommandLineParser parser;
|
||||||
parser.setApplicationDescription( "Distribution-independent installer framework" );
|
parser.setApplicationDescription( "Distribution-independent installer framework" );
|
||||||
parser.addHelpOption();
|
parser.addHelpOption();
|
||||||
|
@ -10,6 +10,12 @@
|
|||||||
|
|
||||||
//cmakedefines for CMake variables (e.g. for optdepends) go here
|
//cmakedefines for CMake variables (e.g. for optdepends) go here
|
||||||
#cmakedefine WITH_PYTHON
|
#cmakedefine WITH_PYTHON
|
||||||
|
|
||||||
|
#cmakedefine WITH_KF5Crash
|
||||||
|
#ifdef WITH_KF5Crash
|
||||||
|
#define WITH_KCRASH
|
||||||
|
#endif
|
||||||
|
|
||||||
#cmakedefine WITH_PYTHONQT
|
#cmakedefine WITH_PYTHONQT
|
||||||
|
|
||||||
#endif // CALAMARESCONFIG_H
|
#endif // CALAMARESCONFIG_H
|
||||||
|
@ -115,6 +115,33 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QWidget" name="toolsTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Tools</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="crashButton">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Crash now</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
Loading…
Reference in New Issue
Block a user