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
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|