#------------------------------------------------- # # Project created by QtCreator 2013-06-18T12:36:43 # #------------------------------------------------- # Use out-of-source builds (shadow builds) QT += core gui widgets xml svg printsupport xmlpatterns TEMPLATE = app TARGET = valentina CONFIG -= debug_and_release debug_and_release_target CONFIG += c++11 #DEFINES += ... # directory for executable file DESTDIR = bin # files created moc MOC_DIR = moc # objecs files OBJECTS_DIR = obj # files created rcc RCC_DIR = rcc # files created uic UI_DIR = uic include(src/app/container/container.pri) include(src/app/dialogs/dialogs.pri) include(src/app/exception/exception.pri) include(src/app/geometry/geometry.pri) include(src/app/tools/tools.pri) include(src/app/widgets/widgets.pri) include(src/app/xml/xml.pri) SOURCES += \ src/app/main.cpp \ src/app/mainwindow.cpp \ src/app/tablewindow.cpp \ src/app/stable.cpp \ src/app/version.cpp HEADERS += \ src/app/mainwindow.h \ src/app/options.h \ src/app/tablewindow.h \ src/app/stable.h \ src/app/version.h FORMS += \ src/app/mainwindow.ui \ src/app/tablewindow.ui RESOURCES += \ share/resources/icon.qrc \ share/resources/cursor.qrc \ share/resources/theme.qrc \ share/resources/schema.qrc OTHER_FILES += share/resources/valentina.rc \ share/resources/icon/64x64/icon64x64.ico TRANSLATIONS += share/translations/valentina.ts \ share/translations/valentina_ru.ts \ share/translations/valentina_uk.ts \ share/translations/valentina_de.ts \ share/translations/valentina_cs.ts \ share/translations/valentina_he_IL.ts \ share/translations/valentina_fr.ts unix { QMAKE_CXX = ccache g++ } CONFIG += precompile_header # Precompiled headers (PCH) PRECOMPILED_HEADER = src/stable.h win32-msvc* { PRECOMPILED_SOURCE = src/stable.cpp } CONFIG(debug, debug|release){ # Debug unix { *-g++{ QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtWidgets" \ -isystem "/usr/include/qt5/QtXml" -isystem "/usr/include/qt5/QtGui" \ -isystem "/usr/include/qt5/QtCore" -isystem "$${UI_DIR}" -isystem "$${MOC_DIR}" \ -isystem "$${RCC_DIR}" \ -O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \ -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \ -Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \ -Wformat=2 -Wimport \ -Winvalid-pch -Wunsafe-loop-optimizations -Wlong-long -Wmissing-format-attribute \ -Wmissing-include-dirs -Wpacked -Wredundant-decls -Winline \ -Wswitch-default -Wswitch-enum -Wuninitialized -Wvariadic-macros \ -Wlogical-op -Wnoexcept -Wmissing-noreturn -Wpointer-arith\ -Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -gdwarf-3 -ftrapv } } else { *-g++{#Don't use additional GCC keys on Windows system. QMAKE_CXXFLAGS += -O0 -Wall -Wextra -pedantic } } }else{ # Release *-g++{ QMAKE_CXXFLAGS += -O2 } DEFINES += QT_NO_DEBUG_OUTPUT } message(Qt version: $$[QT_VERSION]) message(Qt is installed in $$[QT_INSTALL_PREFIX]) message(Qt resources can be found in the following locations:) message(Documentation: $$[QT_INSTALL_DOCS]) message(Header files: $$[QT_INSTALL_HEADERS]) message(Libraries: $$[QT_INSTALL_LIBS]) message(Binary files (executables): $$[QT_INSTALL_BINS]) message(Plugins: $$[QT_INSTALL_PLUGINS]) message(Data files: $$[QT_INSTALL_DATA]) message(Translation files: $$[QT_INSTALL_TRANSLATIONS]) message(Settings: $$[QT_INSTALL_SETTINGS]) message(Examples: $$[QT_INSTALL_EXAMPLES]) win32:RC_FILE = share/resources/valentina.rc # Remove generated files at cleaning QMAKE_DISTCLEAN += $${DESTDIR}/* \ $${OBJECTS_DIR}/* \ $${UI_DIR}/* \ $${MOC_DIR}/* \ $${RCC_DIR}/* \ $$PWD/share/translations/valentina_*.qm INSTALL_TRANSLATIONS += share/translations/valentina_ru.qm \ share/translations/valentina_uk.qm \ share/translations/valentina_de.qm \ share/translations/valentina_cs.qm \ share/translations/valentina_he_IL.qm \ share/translations/valentina_fr.qm INSTALL_STANDARD_MEASHUREMENTS += share/tables/standard/GOST_man_ru.vst INSTALL_INDIVIDUAL_MEASHUREMENTS += share/tables/individual/indivindual_ru.vit unix { #VARIABLES isEmpty(PREFIX) { PREFIX = /usr } BINDIR = $$PREFIX/bin DATADIR =$$PREFIX/share DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" #MAKE INSTALL target.path = $$BINDIR desktop.path = $$DATADIR/applications/ desktop.files += dist/$${TARGET}.desktop pixmaps.path = $$DATADIR/pixmaps/ pixmaps.files += dist/$${TARGET}.png translations.path = $$DATADIR/$${TARGET}/translations/ translations.files = $$INSTALL_TRANSLATIONS standard.path = $$DATADIR/$${TARGET}/tables/standard/ standard.files = $$INSTALL_STANDARD_MEASHUREMENTS individual.path = $$DATADIR/$${TARGET}/tables/individual/ individual.files = $$INSTALL_INDIVIDUAL_MEASHUREMENTS INSTALLS += target \ desktop \ pixmaps \ translations \ standard \ individual } !isEmpty(TRANSLATIONS): { for(_translation_name, TRANSLATIONS) { _translation_name_qm = $$section(_translation_name,".", 0, 0).qm system($$shell_path($$[QT_INSTALL_BINS]/lrelease) $$shell_path($$PWD/$$_translation_name) -qm $$shell_path($$PWD/$$_translation_name_qm)) } } # Copies the given files to the destination directory defineTest(copyToDestdir) { files = $$1 DDIR = $$2 mkpath($$DDIR) for(FILE, files) { # Replace slashes in paths with backslashes for Windows win32{ FILE ~= s,/,\\,g DDIR ~= s,/,\\,g } QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) } export(QMAKE_POST_LINK) } for(DIR, INSTALL_TRANSLATIONS) { #add these absolute paths to a variable which #ends up as 'mkcommands = path1 path2 path3 ...' tr_path += $$PWD/$$DIR } copyToDestdir($$tr_path, $$shell_path($$OUT_PWD/$$DESTDIR/translations)) for(DIR, INSTALL_STANDARD_MEASHUREMENTS) { #add these absolute paths to a variable which #ends up as 'mkcommands = path1 path2 path3 ...' st_path += $$PWD/$$DIR } copyToDestdir($$st_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/standard)) for(DIR, INSTALL_INDIVIDUAL_MEASHUREMENTS) { #add these absolute paths to a variable which #ends up as 'mkcommands = path1 path2 path3 ...' ind_path += $$PWD/$$DIR } copyToDestdir($$ind_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/individual))