-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathSConstruct
55 lines (45 loc) · 1.51 KB
/
SConstruct
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
import os
import sys
# In order to build the tests for QT, you need to:
# - Download and install qt from https://www.qt.io/download/
# - Set the QT5DIR variable below
# - Install the Scons Qt5 tools from https://bitbucket.org/dirkbaechle/scons_qt5
# First install option worked for me (installing it directly in the pytest-cpp/tests directory)
ENABLE_QT_TEST = False
if sys.platform.startswith('win'):
CCFLAGS = ['/EHsc', '/nologo']
LIBS = []
else:
CCFLAGS = ''
LIBS = ['pthread']
env = Environment(
CPPPATH=os.environ.get('INCLUDE', []),
CCFLAGS=CCFLAGS,
LIBPATH=os.environ.get('LIBPATH', []),
LIBS=LIBS,
)
# google test env
genv = env.Clone(LIBS=['gtest'] + LIBS)
if ENABLE_QT_TEST:
# qt5 env
QT5DIR = "/opt/Qt5.7.0/5.7/gcc_64"
qtenv = env.Clone(QT5DIR=QT5DIR,
CCFLAGS="-std=c++11 -fPIC",
tools=['default','qt5'])
qtenv['ENV']['PKG_CONFIG_PATH'] = os.path.join(QT5DIR, 'lib/pkgconfig')
qtenv.EnableQt5Modules([
'QtTest'
])
Export('qtenv')
Export('env genv')
# build google test target
genv.Program('gtest.cpp')
# build boost target
for filename in ('boost_success.cpp', 'boost_failure.cpp', 'boost_error.cpp'):
env.Program(filename)
# build qt5 target
if ENABLE_QT_TEST:
for filename in ('qt_success.cpp', 'qt_failure.cpp', 'qt_error.cpp'):
qtenv.Program(filename)
SConscript('acceptance/googletest-samples/SConscript')
SConscript('acceptance/boosttest-samples/SConscript')