diff --git a/dist/Puzzle.icns b/dist/Puzzle.icns new file mode 100644 index 000000000..a8c2190d6 Binary files /dev/null and b/dist/Puzzle.icns differ diff --git a/dist/macx/puzzle/Info.plist b/dist/macx/puzzle/Info.plist new file mode 100755 index 000000000..5eaa2370b --- /dev/null +++ b/dist/macx/puzzle/Info.plist @@ -0,0 +1,30 @@ + + + + + NSPrincipalClass + NSApplication + CFBundleIconFile + @ICON@ + CFBundlePackageType + APPL + LSMinimumSystemVersion + 10.6 + NSHumanReadableCopyright + © 2013-2020, Valentina project + CFBundleSignature + @TYPEINFO@ + CFBundleExecutable + @EXECUTABLE@ + CFBundleIdentifier + io.bitbucket.valentinaproject.@EXECUTABLE@ + CFBundleShortVersionString + 0.7.0 + CFBundleVersion + 0.7.0.0 + CFBundleInfoDictionaryVersion + 6.0 + NSRequiresAquaSystemAppearance + + + diff --git a/src/app/app.pro b/src/app/app.pro index 4a4eb35c8..6a02b9428 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -1,8 +1,10 @@ TEMPLATE = subdirs SUBDIRS = \ tape \ - valentina + valentina \ + puzzle -macx{# For making app bundle tape must exist before valentina.app will be created +macx{# For making app bundle tape and puzzle must exist before valentina.app will be created valentina.depends = tape + valentina.depends = puzzle } diff --git a/src/app/puzzle/main.cpp b/src/app/puzzle/main.cpp new file mode 100644 index 000000000..f214dd3a0 --- /dev/null +++ b/src/app/puzzle/main.cpp @@ -0,0 +1,38 @@ +/************************************************************************ + ** + ** @file main.cpp + ** @author Roman Telezhynskyi + ** @date 16 2, 2020 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentina project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2020 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ +#include "puzzlemainwindow.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + PuzzleMainWindow w; + w.show(); + + return a.exec(); +} diff --git a/src/app/puzzle/puzzle.pri b/src/app/puzzle/puzzle.pri new file mode 100644 index 000000000..863a4d1a2 --- /dev/null +++ b/src/app/puzzle/puzzle.pri @@ -0,0 +1,15 @@ +# ADD TO EACH PATH $$PWD VARIABLE!!!!!! +# This need for corect working file translations.pro + +SOURCES += \ + $$PWD/main.cpp \ + $$PWD/puzzlemainwindow.cpp + +*msvc*:SOURCES += $$PWD/stable.cpp + +HEADERS += \ + $$PWD/puzzlemainwindow.h \ + $$PWD/stable.h + +FORMS += \ + $$PWD/puzzlemainwindow.ui diff --git a/src/app/puzzle/puzzle.pro b/src/app/puzzle/puzzle.pro new file mode 100644 index 000000000..b0255b2c2 --- /dev/null +++ b/src/app/puzzle/puzzle.pro @@ -0,0 +1,335 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2020-02-16T17:16:07 +# +#------------------------------------------------- + +# File with common stuff for whole project +include(../../../common.pri) + +QT += core gui widgets + +# Name of binary file +TARGET = puzzle + +# We want create executable file +TEMPLATE = app + +# Use out-of-source builds (shadow builds) +CONFIG -= debug_and_release debug_and_release_target + +# Since Q5.12 available support for C++17 +equals(QT_MAJOR_VERSION, 5):greaterThan(QT_MINOR_VERSION, 11) { + CONFIG += c++17 +} else { + CONFIG += c++14 +} + +# The following define makes your compiler emit warnings if you use +# any feature of Qt which has been marked as deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if you use deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +# Since Qt 5.4.0 the source code location is recorded only in debug builds. +# We need this information also in release builds. For this need define QT_MESSAGELOGCONTEXT. +DEFINES += QT_MESSAGELOGCONTEXT + +# Directory for executable file +DESTDIR = bin + +# Directory for files created moc +MOC_DIR = moc + +# Directory for objecs files +OBJECTS_DIR = obj + +# Directory for files created rcc +RCC_DIR = rcc + +# Directory for files created uic +UI_DIR = uic + + +# Suport subdirectories. Just better project code tree. +include(puzzle.pri) + +RESOURCES += \ + share/resources/puzzleicon.qrc + +include(../translations.pri) + +# Set "make install" command for Unix-like systems. +unix{ + # Prefix for binary file. + isEmpty(PREFIX){ + PREFIX = $$DEFAULT_PREFIX + } + + unix:!macx{ + DATADIR =$$PREFIX/share + DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" + + # Path to bin file after installation + target.path = $$PREFIX/bin + + INSTALLS += \ + target + } + macx{ + # Some macx stuff + QMAKE_MAC_SDK = macosx + + # QMAKE_MACOSX_DEPLOYMENT_TARGET defined in common.pri + + CONFIG(release, debug|release){ + QMAKE_RPATHDIR += @executable_path/../Frameworks + + # Path to resources in app bundle + #RESOURCES_DIR = "Contents/Resources" defined in translation.pri + FRAMEWORKS_DIR = "Contents/Frameworks" + MACOS_DIR = "Contents/MacOS" + # On macx we will use app bundle. Bundle doesn't need bin directory inside. + # See issue #166: Creating OSX Homebrew (Mac OS X package manager) formula. + target.path = $$MACOS_DIR + + #languages added inside translations.pri + + # Symlinks also good names for copying. Make will take origin file and copy them with using symlink name. + # For bundle this names more then enough. We don't need care much about libraries versions. + #libraries.path = $$FRAMEWORKS_DIR + #libraries.files += $${OUT_PWD}/../../libs/qmuparser/$${DESTDIR}/libqmuparser.2.dylib + #libraries.files += $${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR}/libvpropertyexplorer.1.dylib + + # logo on macx. + ICON = $$PWD/../../../dist/Puzzle.icns + + QMAKE_INFO_PLIST = $$PWD/../../../dist/macx/puzzle/Info.plist + + format.path = $$RESOURCES_DIR/ + format.files += $$PWD/../../../dist/macx/i-measurements.icns + format.files += $$PWD/../../../dist/macx/s-measurements.icns + + QMAKE_BUNDLE_DATA += \ + #libraries \ + format + } + } +} + +#win32 { +# for(DIR, INSTALL_OPENSSL) { +# #add these absolute paths to a variable which +# #ends up as 'mkcommands = path1 path2 path3 ...' +# openssl_path += $${PWD}/$$DIR +# } +# copyToDestdir($$openssl_path, $$shell_path($${OUT_PWD}/$$DESTDIR)) +#} + +# Compilation will fail without this files after we added them to this section. +OTHER_FILES += \ + share/resources/puzzleicon/64x64/logo.ico # Puzzle's logo. + +# Set using ccache. Function enable_ccache() defined in common.pri. +$$enable_ccache() + +include(warnings.pri) + +CONFIG(release, debug|release){ + # Release mode + !*msvc*:CONFIG += silent + DEFINES += V_NO_ASSERT + !unix:*g++*{ + QMAKE_CXXFLAGS += -fno-omit-frame-pointer # Need for exchndl.dll + } + + noDebugSymbols{ # For enable run qmake with CONFIG+=noDebugSymbols + DEFINES += V_NO_DEBUG + } else { + # Turn on debug symbols in release mode on Unix systems. + # On Mac OS X temporarily disabled. Need find way how to strip binary file. + !macx:!*msvc*{ + QMAKE_CXXFLAGS_RELEASE += -g -gdwarf-3 + QMAKE_CFLAGS_RELEASE += -g -gdwarf-3 + QMAKE_LFLAGS_RELEASE = + } + } +} else { +# Breakpoints do not work if debug the app inside of bundle. In debug mode we turn off creating a bundle. +# Probably it will breake some dependencies. Version for Mac designed to work inside an app bundle. + CONFIG -= app_bundle +} + +DVCS_HESH=$$FindBuildRevision() +message("Build revision:" $${DVCS_HESH}) +DEFINES += "BUILD_REVISION=$${DVCS_HESH}" # Make available build revision number in sources. + +# Path to recource file. +win32:RC_FILE = share/resources/puzzle.rc + +noRunPath{ # For enable run qmake with CONFIG+=noRunPath + # do nothing +} else { + unix:!macx{ + # suppress the default RPATH + # helps to run the program without Qt Creator + # see problem with path to libqmuparser and libpropertybrowser + QMAKE_LFLAGS_RPATH = + QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN\' -Wl,-rpath,$${OUT_PWD}/../../libs/qmuparser/$${DESTDIR} -Wl,-rpath,$${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR}" + } +} + +# When the GNU linker sees a library, it discards all symbols that it doesn't need. +# Dependent library go first. + +#VTools static library (depend on VWidgets, VMisc, VPatternDB) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vtools/$${DESTDIR}/ -lvtools + +#INCLUDEPATH += $$PWD/../../libs/vtools +#INCLUDEPATH += $$OUT_PWD/../../libs/vtools/$${UI_DIR} # For UI files +#DEPENDPATH += $$PWD/../../libs/vtools + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vtools/$${DESTDIR}/vtools.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vtools/$${DESTDIR}/libvtools.a + +##VWidgets static library +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vwidgets/$${DESTDIR}/ -lvwidgets + +#INCLUDEPATH += $$PWD/../../libs/vwidgets +#DEPENDPATH += $$PWD/../../libs/vwidgets + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vwidgets/$${DESTDIR}/vwidgets.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vwidgets/$${DESTDIR}/libvwidgets.a + +## VFormat static library (depend on VPatternDB, IFC) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vformat/$${DESTDIR}/ -lvformat + +#INCLUDEPATH += $$PWD/../../libs/vformat +#DEPENDPATH += $$PWD/../../libs/vformat + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vformat/$${DESTDIR}/vformat.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vformat/$${DESTDIR}/libvformat.a + +##VPatternDB static library (depend on vgeometry, vmisc, VLayout) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vpatterndb/$${DESTDIR} -lvpatterndb + +#INCLUDEPATH += $$PWD/../../libs/vpatterndb +#DEPENDPATH += $$PWD/../../libs/vpatterndb + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vpatterndb/$${DESTDIR}/vpatterndb.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vpatterndb/$${DESTDIR}/libvpatterndb.a + +## Fervor static library (depend on VMisc, IFC) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/fervor/$${DESTDIR}/ -lfervor + +#INCLUDEPATH += $$PWD/../../libs/fervor +#DEPENDPATH += $$PWD/../../libs/fervor + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/fervor/$${DESTDIR}/fervor.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/fervor/$${DESTDIR}/libfervor.a + +## IFC static library (depend on QMuParser, VMisc) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/ifc/$${DESTDIR}/ -lifc + +#INCLUDEPATH += $$PWD/../../libs/ifc +#DEPENDPATH += $$PWD/../../libs/ifc + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/ifc/$${DESTDIR}/ifc.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/ifc/$${DESTDIR}/libifc.a + +##VMisc static library +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vmisc/$${DESTDIR}/ -lvmisc + +#INCLUDEPATH += $$PWD/../../libs/vmisc +#DEPENDPATH += $$PWD/../../libs/vmisc + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vmisc/$${DESTDIR}/vmisc.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vmisc/$${DESTDIR}/libvmisc.a + +## VLayout static library (depend on VGeometry) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vlayout/$${DESTDIR}/ -lvlayout + +#INCLUDEPATH += $$PWD/../../libs/vlayout +#DEPENDPATH += $$PWD/../../libs/vlayout + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vlayout/$${DESTDIR}/vlayout.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vlayout/$${DESTDIR}/libvlayout.a + +## VGeometry static library (depend on ifc) +#unix|win32: LIBS += -L$$OUT_PWD/../../libs/vgeometry/$${DESTDIR}/ -lvgeometry + +#INCLUDEPATH += $$PWD/../../libs/vgeometry +#DEPENDPATH += $$PWD/../../libs/vgeometry + +#win32:!win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vgeometry/$${DESTDIR}/vgeometry.lib +#else:unix|win32-g++: PRE_TARGETDEPS += $$OUT_PWD/../../libs/vgeometry/$${DESTDIR}/libvgeometry.a + +## QMuParser library +#win32:CONFIG(release, debug|release): LIBS += -L$${OUT_PWD}/../../libs/qmuparser/$${DESTDIR} -lqmuparser2 +#else:win32:CONFIG(debug, debug|release): LIBS += -L$${OUT_PWD}/../../libs/qmuparser/$${DESTDIR} -lqmuparser2 +#else:unix: LIBS += -L$${OUT_PWD}/../../libs/qmuparser/$${DESTDIR} -lqmuparser + +#INCLUDEPATH += $${PWD}/../../libs/qmuparser +#DEPENDPATH += $${PWD}/../../libs/qmuparser + +## VPropertyExplorer library +#win32:CONFIG(release, debug|release): LIBS += -L$${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR} -lvpropertyexplorer +#else:win32:CONFIG(debug, debug|release): LIBS += -L$${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR} -lvpropertyexplorer +#else:unix: LIBS += -L$${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR} -lvpropertyexplorer + +#INCLUDEPATH += $${PWD}/../../libs/vpropertyexplorer +#DEPENDPATH += $${PWD}/../../libs/vpropertyexplorer + +contains(DEFINES, APPIMAGE) { + unix:!macx: LIBS += -licudata -licui18n -licuuc +} + +CONFIG(release, debug|release){ + noStripDebugSymbols { + # do nothing + } else { + !macx:!*msvc*{ + noDebugSymbols{ # For enable run qmake with CONFIG+=noDebugSymbols + win32:!*msvc*{ + # Strip debug symbols. + QMAKE_POST_LINK += objcopy --strip-debug bin/${TARGET} + } + + unix:!macx{ + # Strip after you link all libaries. + QMAKE_POST_LINK += objcopy --strip-debug ${TARGET} + } + } else { + win32:!*msvc*{ + # Strip debug symbols. + QMAKE_POST_LINK += objcopy --only-keep-debug bin/${TARGET} bin/${TARGET}.dbg && + QMAKE_POST_LINK += objcopy --strip-debug bin/${TARGET} && + QMAKE_POST_LINK += objcopy --add-gnu-debuglink="bin/${TARGET}.dbg" bin/${TARGET} + + QMAKE_DISTCLEAN += bin/${TARGET}.dbg + } + + unix:!macx{ + # Strip debug symbols. + QMAKE_POST_LINK += objcopy --only-keep-debug ${TARGET} ${TARGET}.dbg && + QMAKE_POST_LINK += objcopy --strip-debug ${TARGET} && + QMAKE_POST_LINK += objcopy --add-gnu-debuglink="${TARGET}.dbg" ${TARGET} + + QMAKE_DISTCLEAN += ${TARGET}.dbg + } + } + } + } +} + +CONFIG(release, debug|release){ + macx{ + # run macdeployqt to include all qt libraries in packet + QMAKE_POST_LINK += $$[QT_INSTALL_BINS]/macdeployqt $${OUT_PWD}/$${DESTDIR}/$${TARGET}.app + } +} diff --git a/src/app/puzzle/puzzlemainwindow.cpp b/src/app/puzzle/puzzlemainwindow.cpp new file mode 100644 index 000000000..2c0321e4c --- /dev/null +++ b/src/app/puzzle/puzzlemainwindow.cpp @@ -0,0 +1,41 @@ +/************************************************************************ + ** + ** @file puzzlemainwindow.cpp + ** @author Roman Telezhynskyi + ** @date 16 2, 2020 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentina project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2020 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ +#include "puzzlemainwindow.h" +#include "ui_puzzlemainwindow.h" + +PuzzleMainWindow::PuzzleMainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::PuzzleMainWindow) +{ + ui->setupUi(this); +} + +PuzzleMainWindow::~PuzzleMainWindow() +{ + delete ui; +} diff --git a/src/app/puzzle/puzzlemainwindow.h b/src/app/puzzle/puzzlemainwindow.h new file mode 100644 index 000000000..bf1943946 --- /dev/null +++ b/src/app/puzzle/puzzlemainwindow.h @@ -0,0 +1,50 @@ +/************************************************************************ + ** + ** @file puzzlemainwindow.h + ** @author Roman Telezhynskyi + ** @date 16 2, 2020 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentina project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2020 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ +#ifndef PUZZLEMAINWINDOW_H +#define PUZZLEMAINWINDOW_H + +#include + +namespace Ui { +class PuzzleMainWindow; +} + +class PuzzleMainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit PuzzleMainWindow(QWidget *parent = nullptr); + virtual ~PuzzleMainWindow(); + +private: + Q_DISABLE_COPY(PuzzleMainWindow) + Ui::PuzzleMainWindow *ui; +}; + +#endif // PUZZLEMAINWINDOW_H diff --git a/src/app/puzzle/puzzlemainwindow.ui b/src/app/puzzle/puzzlemainwindow.ui new file mode 100644 index 000000000..9de7e2667 --- /dev/null +++ b/src/app/puzzle/puzzlemainwindow.ui @@ -0,0 +1,24 @@ + + PuzzleMainWindow + + + + 0 + 0 + 400 + 300 + + + + PuzzleMainWindow + + + + + + + + + + + diff --git a/src/app/puzzle/share/resources/puzzle.rc b/src/app/puzzle/share/resources/puzzle.rc new file mode 100644 index 000000000..809de88e6 --- /dev/null +++ b/src/app/puzzle/share/resources/puzzle.rc @@ -0,0 +1,80 @@ +IDI_ICON1 ICON DISCARDABLE "puzzleicon/64x64/logo.ico" + +#include +#include "../../version.h" + +VS_VERSION_INFO VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION + +// normally found in included by +// FILEFLAGS +#define VS_FF_NORMAL 0x00000000L // ok I made this one up +#ifndef VS_FF_DEBUG +#define VS_FF_DEBUG 0x00000001L +#endif +#ifndef VS_FF_PRERELEASE +#define VS_FF_PRERELEASE 0x00000002L +#endif +// FILEOS +#ifndef VOS_NT +#define VOS_NT 0x00040000L +#endif +#ifndef VOS__WINDOWS32 +#define VOS__WINDOWS32 0x00000004L +#endif +#ifndef VOS_NT_WINDOWS32 +#define VOS_NT_WINDOWS32 0x00040004L +#endif +// FILETYPE +#ifndef VFT_APP +#define VFT_APP 0x00000001L +#endif +#ifndef VFT_DLL +#define VFT_DLL 0x00000002L +#endif + +#ifdef V_PRERELEASE + +#ifdef V_NO_DEBUG + FILEFLAGS (VS_FF_PRERELEASE) +#else + FILEFLAGS (VS_FF_DEBUG|VS_FF_PRERELEASE) +#endif + +#else + +#ifdef V_NO_DEBUG + FILEFLAGS (VS_FF_NORMAL) +#else + FILEFLAGS (VS_FF_DEBUG|VS_FF_NORMAL) +#endif + +#endif + +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "FileDescription", VER_FILEDESCRIPTION_STR + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", VER_INTERNALNAME_STR + VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR + VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR + VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR + VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR + VALUE "ProductName", VER_PRODUCTNAME_STR + VALUE "ProductVersion", VER_PRODUCTVERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0x04E4 //U.S. English + END +END diff --git a/src/app/puzzle/share/resources/puzzleicon.qrc b/src/app/puzzle/share/resources/puzzleicon.qrc new file mode 100644 index 000000000..871f678c4 --- /dev/null +++ b/src/app/puzzle/share/resources/puzzleicon.qrc @@ -0,0 +1,5 @@ + + + puzzleicon/64x64/logo.png + + diff --git a/src/app/puzzle/share/resources/puzzleicon/64x64/logo.ico b/src/app/puzzle/share/resources/puzzleicon/64x64/logo.ico new file mode 100644 index 000000000..a98015678 Binary files /dev/null and b/src/app/puzzle/share/resources/puzzleicon/64x64/logo.ico differ diff --git a/src/app/puzzle/share/resources/puzzleicon/64x64/logo.png b/src/app/puzzle/share/resources/puzzleicon/64x64/logo.png new file mode 100644 index 000000000..ea9aa050e Binary files /dev/null and b/src/app/puzzle/share/resources/puzzleicon/64x64/logo.png differ diff --git a/src/app/puzzle/warnings.pri b/src/app/puzzle/warnings.pri new file mode 100644 index 000000000..da69ccfc3 --- /dev/null +++ b/src/app/puzzle/warnings.pri @@ -0,0 +1,85 @@ +#Turn on compilers warnings. +unix { + *g++*{ + QMAKE_CXXFLAGS += \ + # Key -isystem disable checking errors in system headers. + -isystem "$${OUT_PWD}/$${UI_DIR}" \ + -isystem "$${OUT_PWD}/$${MOC_DIR}" \ + -isystem "$${OUT_PWD}/$${RCC_DIR}" \ + $$GCC_DEBUG_CXXFLAGS # See common.pri for more details. + + checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings + QMAKE_CXXFLAGS += -Werror + } + + noAddressSanitizer{ # For enable run qmake with CONFIG+=noAddressSanitizer + # do nothing + } else { + CONFIG(debug, debug|release){ + # Debug mode + #gcc’s 4.8.0 Address Sanitizer + #http://blog.qt.digia.com/blog/2013/04/17/using-gccs-4-8-0-address-sanitizer-with-qt/ + QMAKE_CXXFLAGS += -fsanitize=address -fno-omit-frame-pointer + QMAKE_CFLAGS += -fsanitize=address -fno-omit-frame-pointer + QMAKE_LFLAGS += -fsanitize=address + } + } + + gccUbsan{ # For enable run qmake with CONFIG+=gccUbsan + CONFIG(debug, debug|release){ + # Debug mode + #gcc’s 4.9.0 Undefined Behavior Sanitizer (ubsan) + QMAKE_CXXFLAGS += -fsanitize=undefined + QMAKE_CFLAGS += -fsanitize=undefined + QMAKE_LFLAGS += -fsanitize=undefined + } + } + } + + *clang*{ + QMAKE_CXXFLAGS += \ + # Key -isystem disable checking errors in system headers. + -isystem "$${OUT_PWD}/$${UI_DIR}" \ + -isystem "$${OUT_PWD}/$${MOC_DIR}" \ + -isystem "$${OUT_PWD}/$${RCC_DIR}" \ + $$CLANG_DEBUG_CXXFLAGS # See common.pri for more details. + + checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings + QMAKE_CXXFLAGS += -Werror + } + + # -isystem key works only for headers. In some cases it's not enough. But we can't delete this warnings and + # want them in global list. Compromise decision delete them from local list. + QMAKE_CXXFLAGS -= \ + -Wundefined-reinterpret-cast \ + -Wmissing-prototypes # rcc folder + } + + *-icc-*{ + QMAKE_CXXFLAGS += \ + -isystem "$${OUT_PWD}/$${UI_DIR}" \ + -isystem "$${OUT_PWD}/$${MOC_DIR}" \ + -isystem "$${OUT_PWD}/$${RCC_DIR}" \ + $$ICC_DEBUG_CXXFLAGS + + checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings + QMAKE_CXXFLAGS += -Werror + } + } +} else { # Windows + *g++*{ + QMAKE_CXXFLAGS += $$GCC_DEBUG_CXXFLAGS # See common.pri for more details. + + checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings + QMAKE_CXXFLAGS += -Werror + } + } + + *msvc*{ + QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. + + checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings + QMAKE_CXXFLAGS += -WX + } + } +}