cmake: more necessary files added. Still a lot of testing needed.

This commit is contained in:
2018-05-31 13:26:36 +02:00
parent 923b3c493f
commit aa2cc9ddd2
101 changed files with 8369 additions and 928 deletions

View File

@@ -0,0 +1,11 @@
#--- musredit_qt5 for Qt > 5.0 ------------------------------------------------
#--- create musrfit-info.h ----------------------------------------------------
configure_file(
${CMAKE_SOURCE_DIR}/cmake/musrfit-info.h.in
${CMAKE_CURRENT_BINARY_DIR}/musrfit-info.h
)
add_subdirectory(musredit)
add_subdirectory(musrStep)
add_subdirectory(musrWiz)

View File

@@ -0,0 +1,47 @@
#--- musrStep for Qt > 5.0 ----------------------------------------------------
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Svg)
set(musrStep_src
PMusrStep.cpp
musrStep.cpp
)
# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)
#[==[
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
# in the same directory as the cpp-files.
# Create code from a list of Qt designer ui files
set(CMAKE_AUTOUIC ON)
#]==]
set(CMAKE_AUTOUIC OFF)
# add qt/rcc
qt5_add_resources(musrStep_rcc musrStep.qrc)
add_executable(musrStep
${musrStep_src}
${musrStep_rcc}
)
target_include_directories(musrStep
BEFORE PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
)
target_link_libraries(musrStep ${qt_libs})
#--- installation info --------------------------------------------------------
install(
TARGETS
musrStep
RUNTIME DESTINATION
bin
)

View File

@@ -0,0 +1,51 @@
#--- musrWiz for Qt > 5.0 -----------------------------------------------------
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Svg Qt5::Xml)
set(musrWiz_src
PTheoTemplate.cpp
PMusrfitFunc.cpp
PInstrumentDef.cpp
PAdmin.cpp
PMusrWiz.cpp
musrWiz.cpp
)
# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)
#[==[
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
# in the same directory as the cpp-files.
# Create code from a list of Qt designer ui files
set(CMAKE_AUTOUIC ON)
#]==]
set(CMAKE_AUTOUIC OFF)
# add qt/rcc
qt5_add_resources(musrWiz_rcc musrWiz.qrc)
add_executable(musrWiz
${musrWiz_src}
${musrWiz_rcc}
)
target_include_directories(musrWiz
BEFORE PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
)
target_link_libraries(musrWiz ${qt_libs})
#--- installation info --------------------------------------------------------
install(
TARGETS
musrWiz
RUNTIME DESTINATION
bin
)

View File

@@ -0,0 +1,151 @@
#--- musredit for Qt > 5.0 ----------------------------------------------------
#--- check if Qt5WebEngine or Qt5WebKit is present ----------------------------
find_package(Qt5WebEngine QUIET)
find_package(Qt5WebKit QUIET)
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Network Qt5::Xml Qt5::Svg Qt5::PrintSupport)
if (Qt5WebEngine_FOUND)
message("debug> Qt5WebEngine is present.")
find_package(Qt5WebEngineWidgets QUIET CONFIG REQUIRED)
set(qt_libs ${qt_libs} Qt5::WebEngine Qt5::WebEngineWidgets)
elseif (Qt5WebKit_FOUND)
message("debug> Qt5WebKit is present.")
find_package(Qt5WebKitWidgets QUIET CONFIG REQUIRED)
set(qt_libs ${qt_libs} Qt5::WebKit Qt5::WebKitWidgets)
else (Qt5WebEngine_FOUND)
message("debug> Neither Qt5WebEngine nor Qt5WebKit found.")
endif (Qt5WebEngine_FOUND)
set(musredit_src
PHelp.cpp
PTextEdit.cpp
PSubTextEdit.cpp
PAdmin.cpp
PFindDialog.cpp
PReplaceDialog.cpp
PReplaceConfirmationDialog.cpp
PFitOutputHandler.cpp
PDumpOutputHandler.cpp
PPrefsDialog.cpp
PGetMusrFTOptionsDialog.cpp
PGetTitleBlockDialog.cpp
PGetParameterBlockDialog.cpp
PGetTheoryBlockDialog.cpp
PGetFunctionsBlockDialog.cpp
PGetAsymmetryRunBlockDialog.cpp
PGetSingleHistoRunBlockDialog.cpp
PGetNonMusrRunBlockDialog.cpp
PGetFourierBlockDialog.cpp
PGetPlotBlockDialog.cpp
PMsr2DataDialog.cpp
PChangeDefaultPathsDialog.cpp
PMusrEditAbout.cpp
main.cpp
)
set(musredit_ui
forms/PFindDialog.ui
forms/PReplaceDialog.ui
forms/PReplaceConfirmationDialog.ui
forms/PMusrEditAbout.ui
forms/PPrefsDialog.ui
forms/PGetMusrFTOptionsDialog.ui
forms/PGetTitleBlockDialog.ui
forms/PGetParameterBlockDialog.ui
forms/PGetTheoryBlockDialog.ui
forms/PGetFunctionsBlockDialog.ui
forms/PGetAsymmetryRunBlockDialog.ui
forms/PGetSingleHistoRunBlockDialog.ui
forms/PGetNonMusrRunBlockDialog.ui
forms/PGetFourierBlockDialog.ui
forms/PGetPlotBlockDialog.ui
forms/PMsr2DataDialog.ui
forms/PChangeDefaultPathsDialog.ui
)
# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)
#[==[
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
# in the same directory as the cpp-files.
# Create code from a list of Qt designer ui files
set(CMAKE_AUTOUIC ON)
#]==]
set(CMAKE_AUTOUIC OFF)
# call qt/uic
qt5_wrap_ui(out_ui ${musredit_ui})
# add qt/rcc
qt5_add_resources(musredit_rcc musredit.qrc)
set(macosx_icon icons/musredit.icns)
if (APPLE)
add_executable(musredit MACOSX_BUNDLE
${musredit_src}
${out_ui}
${musredit_rcc}
${macosx_icon}
)
else (APPLE)
add_executable(musredit
${musredit_src}
${out_ui}
${musredit_rcc}
)
endif (APPLE)
if (Qt5WebEngine_FOUND)
target_compile_options(musredit
BEFORE PRIVATE
-DHAVE_QT_WEB_ENGINE
)
endif (Qt5WebEngine_FOUND)
target_include_directories(musredit
BEFORE PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
)
target_link_libraries(musredit ${qt_libs})
#--- installation info --------------------------------------------------------
if (APPLE)
set_target_properties(musredit PROPERTIES
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_BUNDLE_NAME "musredit"
MACOSX_BUNDLE_INFO_STRING "musredit simplifies the handling of the msr-files for uSR fitting."
MACOSX_BUNDLE_ICON_FILE "musredit.icns"
MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}"
MACOSX_FRAMEWORK_IDENTIFIER ch.psi.musredit
MACOSX_BUNDLE_COPYRIGHT "Andreas Suter"
RESOURCE ${macosx_icon}
)
endif (APPLE)
if (APPLE)
install( TARGETS musredit
BUNDLE DESTINATION /Applications
)
else (APPLE)
install( TARGETS musredit
RUNTIME DESTINATION bin
)
endif (APPLE)
#--- documentation installation info ------------------------------------------
install(
DIRECTORY
${CMAKE_SOURCE_DIR}/doc/examples
${CMAKE_SOURCE_DIR}/doc/html
${CMAKE_SOURCE_DIR}/doc/memos
DESTINATION
${CMAKE_INSTALL_PREFIX}/share/doc/musrfit
MESSAGE_NEVER
)

View File

@@ -103,7 +103,7 @@ PDumpOutputHandler::~PDumpOutputHandler()
fProc->waitForFinished();
}
if (fProc->state() == QProcess::Running) {
QString cmd = "kill -9 "+ fProcPID;
QString cmd = "kill -9 "+ QString("%1").arg(fProcPID);
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
qDebug() << msg << endl;
system(cmd.toLatin1());

View File

@@ -64,7 +64,7 @@ PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QVector<QString>
// make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
fProc->setProcessEnvironment(env);
fProc->setWorkingDirectory(workingDirectory);
@@ -106,7 +106,7 @@ PFitOutputHandler::~PFitOutputHandler()
fProc->waitForFinished();
}
if (fProc->state() == QProcess::Running) {
QString cmd = "kill -9 "+ fProcPID;
QString cmd = "kill -9 "+ QString("%1").arg(fProcPID);
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
qDebug() << msg << endl;
system(cmd.toLatin1());

View File

@@ -76,7 +76,7 @@ void PGetFourierBlockDialog::checkPhaseParameter()
ival = str.toInt(&ok);
if (!ok) { // i.e. the phase entry is not a number. Check for parXX
str.trimmed();
str = str.trimmed();
if (str.startsWith("par")) { //
str.remove("par");
ival = str.toInt(&ok);

View File

@@ -1848,7 +1848,7 @@ void PTextEdit::musrWiz()
// make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
proc->setProcessEnvironment(env);
proc->setWorkingDirectory(workDir);
proc->start(cmd, arg);
@@ -2262,7 +2262,7 @@ void PTextEdit::musrMsr2Data()
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.trimmed();
str = str.trimmed();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
if (fMsr2DataParam->msrFileExtension.isEmpty())
@@ -2305,7 +2305,7 @@ void PTextEdit::musrMsr2Data()
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.trimmed();
str = str.trimmed();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
break;
@@ -2382,7 +2382,7 @@ void PTextEdit::musrView()
// make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
proc->setProcessEnvironment(env);
proc->setWorkingDirectory(workDir);
proc->start(cmd, arg);
@@ -2436,7 +2436,7 @@ void PTextEdit::musrT0()
// make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
proc->setProcessEnvironment(env);
proc->setWorkingDirectory(workDir);
proc->start(cmd, arg);
@@ -2473,7 +2473,7 @@ void PTextEdit::musrFT()
proc->setStandardErrorFile("musrFT.log");
QString cmd = fAdmin->getExecPath() + "/musrFT";
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
proc->setProcessEnvironment(env);
proc->start(cmd, fMusrFTPrevCmd);
if (!proc->waitForStarted()) {
@@ -2575,7 +2575,7 @@ void PTextEdit::musrSetSteps()
// make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
proc->setProcessEnvironment(env);
proc->setWorkingDirectory(workDir);
proc->start(cmd, arg);
@@ -3041,10 +3041,15 @@ void PTextEdit::getTheme()
QString str = QIcon::themeName();
qDebug() << "debug> str=" << str << endl;
if (str.contains("dark", Qt::CaseInsensitive)) {
fDarkTheme = true;
if (str.contains("ubuntu", Qt::CaseInsensitive)) {
fDarkToolBarIcon = false;
} else if (str.contains("xfce", Qt::CaseInsensitive)) {
fDarkTheme = false;
fDarkToolBarIcon = false;
} else {
fDarkToolBarIcon = true;
}

View File

@@ -332,7 +332,7 @@ p, li { white-space: pre-wrap; }
<property name="title">
<string> Histo Info </string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_0">
<property name="geometry">
<rect>
<x>20</x>
@@ -600,7 +600,7 @@ p, li { white-space: pre-wrap; }
<property name="title">
<string>File Selection</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_1">
<property name="geometry">
<rect>
<x>19</x>
@@ -706,7 +706,7 @@ p, li { white-space: pre-wrap; }
</layout>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_3">
<property name="geometry">
<rect>
<x>20</x>

View File

@@ -32,7 +32,7 @@
<property name="title">
<string>Run Header Info</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_0">
<property name="geometry">
<rect>
<x>10</x>
@@ -54,7 +54,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_1">
<property name="geometry">
<rect>
<x>11</x>
@@ -105,7 +105,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_2">
<property name="geometry">
<rect>
<x>10</x>
@@ -211,7 +211,7 @@
<property name="title">
<string>Required Entries</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_3">
<property name="geometry">
<rect>
<x>10</x>
@@ -237,7 +237,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_4">
<property name="geometry">
<rect>
<x>11</x>
@@ -275,7 +275,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_5">
<property name="geometry">
<rect>
<x>10</x>
@@ -345,7 +345,7 @@
</layout>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_6">
<property name="geometry">
<rect>
<x>10</x>

View File

@@ -44,7 +44,7 @@
<property name="checkable">
<bool>false</bool>
</property>
<widget class="QWidget" name="">
<widget class="QWidget" name="layoutWidget_0">
<property name="geometry">
<rect>
<x>10</x>
@@ -147,7 +147,7 @@
<property name="title">
<string>msr File Extension</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_1">
<property name="geometry">
<rect>
<x>10</x>
@@ -215,7 +215,7 @@
<property name="title">
<string>Template Run Input</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_2">
<property name="geometry">
<rect>
<x>10</x>
@@ -277,7 +277,7 @@
<property name="title">
<string>Parameter Output File Name</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_3">
<property name="geometry">
<rect>
<x>10</x>
@@ -332,7 +332,7 @@
<property name="title">
<string>Options</string>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_4">
<property name="geometry">
<rect>
<x>6</x>
@@ -514,7 +514,7 @@
</property>
</widget>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_5">
<property name="geometry">
<rect>
<x>5</x>

View File

@@ -20,7 +20,7 @@
<iconset>
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
</property>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_0">
<property name="geometry">
<rect>
<x>0</x>
@@ -39,7 +39,7 @@
<attribute name="title">
<string>general</string>
</attribute>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="layoutWidget_1">
<property name="geometry">
<rect>
<x>10</x>