~d-nelson/research-assistant/nextDNK

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
################################################################################
#                                 Part of
#                       Research Assistant project
#                https://launchpad.net/research-assistant
#
# Copyright(C) 2011-2023, Viktor E. Bursian, St.Petersburg, Russia.
#                         Viktor_dot_Bursian_at_mail_dot_ioffe_dot_ru
################################################################################

#_________Version_______________________________________________________________
                                 # common for all targets (exe,lib,plugin),
                                 # indicates their compatibility
VER_MAJ = 1   # = 0, 1, 2,..
VER_MIN = 6   # = 0, 1, 2,..

#_________Release/patch version_________________________________________________
CORE_VER_PAT = 0-alpha
                                 # can be reassigned for particular target
VER_PAT = 0   # = 0-alpha, 0-beta, 0, 1-alpha, 1-beta, 1, ...

#_______________________________________________________________________________
CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked 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
#DEFINES -= QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses 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

#Сочетание Qt5.12 и GCC 9 генерит тучу предупреждений.
#Некоторые по делу, но многие - не моя вина. Это помогает избавиться:
equals(QT_MAJOR_VERSION,5){
  equals(QT_MINOR_VERSION,12){
    QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-copy
  }
}

#Сочетание Qt5.3.2 и GCC 7_5_0_32bit генерит тучу предупреждений.
#Это помогает избавиться:
equals(QT_MAJOR_VERSION,5){
  equals(QT_MINOR_VERSION,3){
    QMAKE_CXXFLAGS_WARN_ON += -Wno-expansion-to-defined
  }
}

# А с этими опциями надо играть осторожно. Меняют соглашения о вызовах.
# См.: https://stackoverflow.com/questions/29730626/how-to-define-a-80-bit-size-variable
# Вроде бы, эти опции влияют на размер в памяти
# (включая заполненные нулями лишние биты),
# но не на точность представления:
#       -m96bit-long-double    -- default for 32bit
#       -m128bit-long-double
# А эти на точность (должны, но не обязаны):
#       -mlong-double-64
#       -mlong-double-80
#       -mlong-double-128    -- makes long double = __float128;
#                               default for Bionic C library
#QMAKE_CXXFLAGS += -mlong-double-80 # compiles, works, no effect
#QMAKE_CXXFLAGS += -mlong-double-80  -mno-align-double # same
#QMAKE_CXXFLAGS += -mlong-double-80 -m96bit-long-double # compilation fails
#QMAKE_CXXFLAGS += -mlong-double-80 -mno-align-double -m96bit-long-double # same

DEFINES += RA_VERS_MAJOR=$${VER_MAJ}
DEFINES += RA_VERS_MINOR=$${VER_MIN}
contains( CONFIG, plugin ){
    DEFINES += RAP_VERS_MAJOR=$${VER_MAJ}
    DEFINES += RAP_VERS_MINOR=$${VER_MIN}
}

RADIR = $$clean_path($$PWD)/

CONFIG(release, debug|release) {
    #message( "_____________________ release" )
    DESTDIR     = $${RADIR}bin/
}else{
    #message( "_____________________ debug" )
    DEFINES += RANET_DEBUG
    DESTDIR = $${RADIR}bin-debug/
    DEBUG_SUFFIX = d
}
LIB_SUFFIX = $${DEBUG_SUFFIX}
win32: LIB_SUFFIX = $${LIB_SUFFIX}$${VER_MAJ}
LIBS	+= -L$${DESTDIR}

CODECFORTR = UTF-8
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^