New command line parser. New Qt requirements. Fix issue with build project.
--HG-- branch : develop
This commit is contained in:
parent
8b6a140ebb
commit
1fd6464884
6
README
6
README
|
@ -13,14 +13,14 @@ Supported Platforms
|
||||||
The standalone binary packages support the following platforms:
|
The standalone binary packages support the following platforms:
|
||||||
|
|
||||||
Windows XP SP2 or later
|
Windows XP SP2 or later
|
||||||
Ubuntu Linux 11.10 (32-bit) or later
|
Ubuntu Linux 14.04 (32-bit) or later
|
||||||
|
|
||||||
Building the sources requires Qt 5.1.0 or later.
|
Building the sources requires Qt 5.2.1 or later.
|
||||||
|
|
||||||
Compiling Valentina
|
Compiling Valentina
|
||||||
====================
|
====================
|
||||||
Prerequisites:
|
Prerequisites:
|
||||||
* Qt 5.1.0 or later (On Unix development packages needed)
|
* Qt 5.2.1 or later (On Unix development packages needed)
|
||||||
* mercurial
|
* mercurial
|
||||||
* On Unix:
|
* On Unix:
|
||||||
- ccache
|
- ccache
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
include(Valentina.pri)
|
include(Valentina.pri)
|
||||||
|
|
||||||
#version check qt
|
#version check qt
|
||||||
!minQtVersion(5, 1, 0) {
|
!minQtVersion(5, 2, 1) {
|
||||||
message("Cannot build Valentina with Qt version $${QT_VERSION}.")
|
message("Cannot build Valentina with Qt version $${QT_VERSION}.")
|
||||||
error("Use at least Qt 5.1.0.")
|
error("Use at least Qt 5.2.1.")
|
||||||
}
|
}
|
||||||
|
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
|
|
|
@ -219,9 +219,9 @@ for(DIR, INSTALL_STANDARD_MEASHUREMENTS) {
|
||||||
|
|
||||||
copyToDestdir($$st_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/standard))
|
copyToDestdir($$st_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/standard))
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L../libs/qmuparser/bin -lqmuparser2
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../libs/qmuparser/bin -lqmuparser2
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L../libs/qmuparser/bin -lqmuparser2
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../libs/qmuparser/bin -lqmuparser2
|
||||||
else:unix: LIBS += -L../libs/qmuparser/bin -lqmuparser
|
else:unix: LIBS += -L$$OUT_PWD/../libs/qmuparser/bin -lqmuparser
|
||||||
|
|
||||||
INCLUDEPATH += ../libs/qmuparser
|
INCLUDEPATH += $$PWD/../libs/qmuparser
|
||||||
DEPENDPATH += ../libs/qmuparser
|
DEPENDPATH += $$PWD/../libs/qmuparser
|
||||||
|
|
|
@ -126,7 +126,7 @@ int main(int argc, char *argv[])
|
||||||
Q_INIT_RESOURCE(schema);
|
Q_INIT_RESOURCE(schema);
|
||||||
Q_INIT_RESOURCE(theme);
|
Q_INIT_RESOURCE(theme);
|
||||||
|
|
||||||
QT_REQUIRE_VERSION(argc, argv, "5.1.0");
|
QT_REQUIRE_VERSION(argc, argv, "5.2.1");
|
||||||
|
|
||||||
VApplication app(argc, argv);
|
VApplication app(argc, argv);
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
|
@ -175,36 +175,18 @@ int main(int argc, char *argv[])
|
||||||
QObject::connect(&w, &MainWindow::ModelChosen, &table, &TableWindow::ModelChosen);
|
QObject::connect(&w, &MainWindow::ModelChosen, &table, &TableWindow::ModelChosen);
|
||||||
QObject::connect(&table, &TableWindow::closed, &w, &MainWindow::tableClosed);
|
QObject::connect(&table, &TableWindow::closed, &w, &MainWindow::tableClosed);
|
||||||
|
|
||||||
const QStringList args = app.arguments();
|
QCommandLineParser parser;
|
||||||
QString fileName;
|
parser.setApplicationDescription(QCoreApplication::translate("main", "Pattern making program."));
|
||||||
QRegExp rxArgOpenFile("-o");//parameter open file
|
parser.addHelpOption();
|
||||||
|
parser.addVersionOption();
|
||||||
|
parser.addPositionalArgument("filename", QCoreApplication::translate("main", "Pattern file."));
|
||||||
|
parser.process(app);
|
||||||
|
const QStringList args = parser.positionalArguments();
|
||||||
|
if (args.size() > 0)
|
||||||
|
{
|
||||||
|
w.LoadPattern(args.at(0));
|
||||||
|
|
||||||
if (args.size()>1)
|
|
||||||
{
|
|
||||||
for (int i = 1; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
if (rxArgOpenFile.indexIn(args.at(i)) != -1 )
|
|
||||||
{
|
|
||||||
if (args.at(i+1).isEmpty() == false)
|
|
||||||
{
|
|
||||||
fileName = args.at(i+1);
|
|
||||||
qDebug() << args.at(i)<< ":" << fileName;
|
|
||||||
w.LoadPattern(fileName);
|
|
||||||
}
|
}
|
||||||
w.show();
|
w.show();
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qDebug() << "Uknown arg:" << args.at(i);
|
|
||||||
w.show();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
w.show();
|
|
||||||
}
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,13 +1249,24 @@ void MainWindow::Open()
|
||||||
dir = QFileInfo(files.first()).absolutePath();
|
dir = QFileInfo(files.first()).absolutePath();
|
||||||
}
|
}
|
||||||
QString fileName = QFileDialog::getOpenFileName(this, tr("Open file"), dir, filter);
|
QString fileName = QFileDialog::getOpenFileName(this, tr("Open file"), dir, filter);
|
||||||
if (fileName.isEmpty() == false)
|
if (fileName.isEmpty() == false && fileName != curFile)
|
||||||
|
{
|
||||||
|
if (curFile.isEmpty())
|
||||||
{
|
{
|
||||||
LoadPattern(fileName);
|
LoadPattern(fileName);
|
||||||
|
|
||||||
VAbstractTool::NewSceneRect(sceneDraw, view);
|
VAbstractTool::NewSceneRect(sceneDraw, view);
|
||||||
VAbstractTool::NewSceneRect(sceneDetails, view);
|
VAbstractTool::NewSceneRect(sceneDetails, view);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QProcess *v = new QProcess(this);
|
||||||
|
QStringList arguments;
|
||||||
|
arguments << fileName;
|
||||||
|
v->startDetached(QCoreApplication::applicationFilePath(), arguments);
|
||||||
|
delete v;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1302,11 +1313,14 @@ void MainWindow::Clear()
|
||||||
* @brief NewPattern create new empty pattern.
|
* @brief NewPattern create new empty pattern.
|
||||||
*/
|
*/
|
||||||
void MainWindow::NewPattern()
|
void MainWindow::NewPattern()
|
||||||
|
{
|
||||||
|
if (doc->isPatternModified() || curFile.isEmpty() == false)
|
||||||
{
|
{
|
||||||
QProcess *v = new QProcess(this);
|
QProcess *v = new QProcess(this);
|
||||||
v->startDetached(QCoreApplication::applicationFilePath ());
|
v->startDetached(QCoreApplication::applicationFilePath ());
|
||||||
delete v;
|
delete v;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#include "vindividualmeasurements.h"
|
#include "vindividualmeasurements.h"
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <qmuparsererror.h>
|
#include "../../libs/qmuparser/qmuparsererror.h"
|
||||||
|
|
||||||
const QString VPattern::TagPattern = QStringLiteral("pattern");
|
const QString VPattern::TagPattern = QStringLiteral("pattern");
|
||||||
const QString VPattern::TagCalculation = QStringLiteral("calculation");
|
const QString VPattern::TagCalculation = QStringLiteral("calculation");
|
||||||
|
|
3
src/libs/libs.pro
Normal file
3
src/libs/libs.pro
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
TEMPLATE = subdirs
|
||||||
|
CONFIG += ordered
|
||||||
|
SUBDIRS = qmuparser
|
55
src/src.pro
55
src/src.pro
|
@ -1,52 +1,7 @@
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
|
CONFIG += ordered
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
sub_app \
|
libs \
|
||||||
sub_lib_qmuparser \
|
app \
|
||||||
test/ParserTest
|
test
|
||||||
|
|
||||||
sub_lib_qmuparser.file = libs/qmuparser/qmuparser.pro
|
|
||||||
sub_parser_tests.file = test/ParserTest/ParserTest.pro
|
|
||||||
sub_parser_tests.depends = sub_lib_qmuparser
|
|
||||||
sub_app.file = app/app.pro
|
|
||||||
sub_app.depends = sub_lib_qmuparser
|
|
||||||
|
|
||||||
|
|
||||||
#This makes it possible to use make -j 4 on your fancy quad-core system with a project that consists of several
|
|
||||||
#components that depend on each other. To simplify the process a bit, the following test function can be defined:
|
|
||||||
|
|
||||||
# addSubdirs(subdirs,deps): Adds directories to the project that depend on
|
|
||||||
# other directories
|
|
||||||
defineTest(addSubdirs) {
|
|
||||||
for(subdirs, 1) {
|
|
||||||
entries = $$files($$subdirs)
|
|
||||||
for(entry, entries) {
|
|
||||||
name = $$replace(entry, [/\\\\], _)
|
|
||||||
SUBDIRS += $$name
|
|
||||||
eval ($${name}.subdir = $$entry)
|
|
||||||
for(dep, 2):eval ($${name}.depends += $$replace(dep, [/\\\\], _))
|
|
||||||
export ($${name}.subdir)
|
|
||||||
export ($${name}.depends)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export (SUBDIRS)
|
|
||||||
}
|
|
||||||
#You can then use it like to define a project that has:
|
|
||||||
|
|
||||||
#several contributed modules that should be compiled first
|
|
||||||
#addSubdirs (contrib/*)
|
|
||||||
|
|
||||||
#a kernel lib for non-gui related stuff that depends on some contrib modules
|
|
||||||
#addSubdirs (src/lib/kernel, contrib/module1 contrib/module2)
|
|
||||||
|
|
||||||
#a gui lib that depends on the kernel lib and some other contrib modules
|
|
||||||
#addSubdirs (src/lib/gui, src/lib/kernel contrib/module3 contrib/module4)
|
|
||||||
|
|
||||||
#test benches for the kernel and gui libs
|
|
||||||
#addSubdirs (src/tests/kernel, src/lib/kernel)
|
|
||||||
#addSubdirs (src/tests/gui, src/lib/gui)
|
|
||||||
|
|
||||||
#a main program that uses the gui and kernel libs
|
|
||||||
#addSubdirs (src/main, src/lib/gui src/lib/kernel)
|
|
||||||
|
|
||||||
#several modules that only depend on the kernel lib
|
|
||||||
#addSubdirs (src/modules/*, src/lib/kernel)
|
|
||||||
|
|
|
@ -58,9 +58,10 @@ CONFIG(debug, debug|release){
|
||||||
QMAKE_DISTCLEAN += $${DESTDIR}/* \
|
QMAKE_DISTCLEAN += $${DESTDIR}/* \
|
||||||
$${OBJECTS_DIR}/*
|
$${OBJECTS_DIR}/*
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2
|
|
||||||
else:unix: LIBS += -L../../libs/qmuparser/bin -lqmuparser
|
|
||||||
|
|
||||||
INCLUDEPATH += ../../libs/qmuparser
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../libs/qmuparser/bin/ -lqmuparser2
|
||||||
DEPENDPATH += ../../libs/qmuparser
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../libs/qmuparser/bin/ -lqmuparser2
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../../libs/qmuparser/bin/ -lqmuparser
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD/../../libs/qmuparser
|
||||||
|
DEPENDPATH += $$PWD/../../libs/qmuparser
|
||||||
|
|
3
src/test/test.pro
Normal file
3
src/test/test.pro
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
TEMPLATE = subdirs
|
||||||
|
CONFIG += ordered
|
||||||
|
SUBDIRS = ParserTest
|
Loading…
Reference in New Issue
Block a user