Build system base on scons(oic-resource)
[platform/upstream/iotivity.git] / examples / SConscript
1 ##
2 # Examples build script
3 ##
4 Import('env', 'RELEASE_BUILD', 'BUILD_TARGET', 'BUILD_DIR', 'SRC_TOP_DIR')
5 # Add third party libraries
6 SConscript(SRC_TOP_DIR + '/third_party_libs.scons')
7 examples_env = env.Clone()
8
9 ######################################################################
10 # Build flags
11 ######################################################################
12 examples_env.AppendUnique(CPPPATH = [
13                 '../include/',
14                 '../csdk/stack/include',
15                 '../csdk/ocsocket/include',
16                 '../csdk/ocrandom/include',
17                 '../csdk/logger/include',
18                 '../csdk/libcoap',
19                 '../oc_logger/include'
20                 ])
21
22 if BUILD_TARGET not in ['windows', 'winrt']:
23         examples_env.AppendUnique(CXXFLAGS = ['-std=c++11', '-Wall'])
24
25 examples_env.AppendUnique(LIBPATH = [BUILD_DIR])
26 examples_env.PrependUnique(LIBS = ['oc', 'octbstack', 'coap', 'oc_logger'])
27
28 if BUILD_TARGET == 'android':
29         examples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
30         examples_env.AppendUnique(LIBS = ['gnustl_static'])
31         examples_env.AppendUnique(LINKFLAGS = ['-static'])
32         examples_env.AppendUnique(CPPDEFINES = ['_GLIBCXX_USE_C99=1', '_GLIBCXX_HAVE_WCSTOF=1'])
33
34         if not RELEASE_BUILD:
35                 examples_env.AppendUnique(LIBS = ['log'])
36 ######################################################################
37 # Source files and Targets
38 ######################################################################
39 simpleserver = examples_env.Program('simpleserver', 'simpleserver.cpp')
40 simpleclient = examples_env.Program('simpleclient', 'simpleclient.cpp')
41 presenceserver = examples_env.Program('presenceserver', 'presenceserver.cpp')
42 presenceclient = examples_env.Program('presenceclient', 'presenceclient.cpp')
43 simpleclientserver = examples_env.Program('simpleclientserver', 'simpleclientserver.cpp')
44 roomserver = examples_env.Program('roomserver', 'roomserver.cpp')
45 roomclient = examples_env.Program('roomclient', 'roomclient.cpp')
46
47 Alias("examples", [simpleserver, simpleclient, presenceserver, presenceclient,
48                 simpleclientserver, roomserver, roomclient])
49 env.AppendUnique(TS = ['examples'])
50
51 if BUILD_TARGET not in ['ios']:
52         SConscript(BUILD_DIR + 'examples/ocicuc/SConscript')