-
Notifications
You must be signed in to change notification settings - Fork 0
/
ToolTestTriangleDesktop.pro
109 lines (86 loc) · 3.08 KB
/
ToolTestTriangleDesktop.pro
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#DEFINES += TODO_ISSUE_207
include(../RibiLibraries/Apfloat.pri)
include(../RibiClasses/CppAbout/CppAbout.pri)
include(../RibiClasses/CppFileIo/CppFileIo.pri)
include(../RibiClasses/CppHelp/CppHelp.pri)
include(../RibiClasses/CppMenuDialog/CppMenuDialog.pri)
#Console
include(../RibiClasses/CppContainer/CppContainer.pri)
include(../RibiClasses/CppFuzzy_equal_to/CppFuzzy_equal_to.pri)
include(../RibiClasses/CppGeometry/CppGeometry.pri)
include(../RibiClasses/CppOpenFoam/CppOpenFoam.pri) #Really need it
include(../RibiClasses/CppPhp/CppPhp.pri)
include(../plane/plane.pri)
include(../RibiClasses/CppPolyFile/CppPolyFile.pri)
include(../RibiClasses/CppPolyFileFromPolygons/CppPolyFileFromPolygons.pri)
include(../RibiClasses/CppRibiRegex/CppRibiRegex.pri)
include(../RibiClasses/CppTriangleFile/CppTriangleFile.pri)
include(../RibiClasses/CppTriangleMesh/CppTriangleMesh.pri)
include(../RibiClasses/CppXml/CppXml.pri)
#Desktop
include(../RibiClasses/CppQtNavigationableGraphicsView/CppQtNavigationableGraphicsView.pri)
include(ToolTestTriangleDesktop.pri)
include(../RibiClasses/CppQtAboutDialog/CppQtAboutDialog.pri)
include(../RibiClasses/CppQtHideAndShowDialog/CppQtHideAndShowDialog.pri)
SOURCES += qtmain.cpp
# C++14
CONFIG += c++14
QMAKE_CXXFLAGS += -std=c++14
# High warning levels
# Qt does not go well with -Weffc++
# apfloat does not go well with -Wshadow
QMAKE_CXXFLAGS += -Wall -Wextra -Wnon-virtual-dtor -pedantic -Werror
# Debug and release mode
CONFIG += debug_and_release
# In release mode, define NDEBUG
CONFIG(release, debug|release) {
DEFINES += NDEBUG
# gprof
QMAKE_CXXFLAGS += -pg
QMAKE_LFLAGS += -pg
# GSL
DEFINES += GSL_UNENFORCED_ON_CONTRACT_VIOLATION
}
# In debug mode, turn on gcov and UBSAN
CONFIG(debug, debug|release) {
# gcov
QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
LIBS += -lgcov
# UBSAN
QMAKE_CXXFLAGS += -fsanitize=undefined
QMAKE_LFLAGS += -fsanitize=undefined
LIBS += -lubsan
# gprof
QMAKE_CXXFLAGS += -pg
QMAKE_LFLAGS += -pg
# GSL
#DEFINES += GSL_THROW_ON_CONTRACT_VIOLATION
DEFINES += GSL_UNENFORCED_ON_CONTRACT_VIOLATION
}
# Qt
QT += core gui
# Prevent Qt for failing with this error:
# qrc_[*].cpp:400:44: error: ‘qInitResources_[*]__init_variable__’ defined but not used
# [*]: the resource filename
QMAKE_CXXFLAGS += -Wno-unused-variable
# Fixes
#/usr/include/boost/math/constants/constants.hpp:277: error: unable to find numeric literal operator 'operator""Q'
# BOOST_DEFINE_MATH_CONSTANT(half, 5.000000000000000000000000000000000000e-01, "5.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01")
# ^
QMAKE_CXXFLAGS += -fext-numeric-literals
# QT5
QT += core gui widgets svg
message(Host name: $$QMAKE_HOST.name)
contains(QMAKE_HOST.name,pc-157-103) {
message("Host is university computer in the canteen")
QMAKE_CXX = g++-5
QMAKE_LINK = g++-5
QMAKE_CC = gcc-5
}
message(Host name: $$QMAKE_HOST.name)
contains(QMAKE_HOST.name,fwn-biol-132-102) {
message("Host is university computer in my office")
QMAKE_CXX = g++-5
QMAKE_LINK = g++-5
QMAKE_CC = gcc-5
}