1TEMPLATE = app
2CONFIG += c++14 console
3CONFIG -= qt app_bundle
4
5linux {
6    QMAKE_CXXFLAGS += --std=c++14
7}
8
9INCLUDEPATH += ../include
10
11# DEFINES += ONLY_MINI_TEST
12
13include(../dependencies/rapidjson.pri)
14include(../dependencies/signals.pri)
15
16SOURCES += ../src/test1.cpp \
17    ../src/settings/settingdata.cpp \
18    ../src/settings/settingmanager.cpp
19
20HEADERS += \
21    include/pajlada/settings/setting.hpp \
22    include/pajlada/settings/settingdata.hpp \
23    include/pajlada/settings/settingmanager.hpp \
24    include/pajlada/settings/types.hpp \
25    include/pajlada/settings/types.hpp
26
27win32-msvc* {
28    QMAKE_CXXFLAGS_WARN_ON = /W4 /wd4996
29    QMAKE_CXXFLAGS_WARN_ON += /wd4996 # Ignore "unsafe" warnings
30}
31
32linux {
33    QMAKE_CXXFLAGS_WARN_ON = -Wall
34}
35
36# Add sanitizer flags
37asan {
38    # Address Sanitizer
39    QMAKE_CXXFLAGS += -g -fsanitize=address -fPIE -fno-omit-frame-pointer -O1
40    QMAKE_CFLAGS   += -g -fsanitize=address -fPIE -fno-omit-frame-pointer -O1
41    QMAKE_LFLAGS += -fsanitize=address -pie
42
43    message("Address Sanitizer enabled")
44}
45
46msan {
47    # Memory Sanitizer
48    QMAKE_CXXFLAGS += -g -fsanitize=memory -fPIE -fsanitize-memory-track-origins -fno-omit-frame-pointer -O2
49    QMAKE_CFLAGS   += -g -fsanitize=memory -fPIE -fsanitize-memory-track-origins -fno-omit-frame-pointer -O2
50    QMAKE_LFLAGS += -fsanitize=memory -pie
51
52    message("Memory Sanitizer enabled")
53}
54
55tsan {
56    # Thread Sanitizer
57    QMAKE_CXXFLAGS += -g -fsanitize=thread -fPIE -fno-omit-frame-pointer -O1
58    QMAKE_CFLAGS   += -g -fsanitize=thread -fPIE -fno-omit-frame-pointer -O1
59    QMAKE_LFLAGS += -fsanitize=thread -pie
60
61    message("Thread Sanitizer enabled")
62}
63