2 # Examples build script
5 # Add third party libraries
7 SConscript(env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env')
9 ocicuc_env = lib_env.Clone()
10 ######################################################################
12 ######################################################################
13 ocicuc_env.AppendUnique(CPPPATH = [
15 '../../csdk/stack/include',
16 '../../csdk/ocsocket/include',
17 '../../csdk/ocrandom/include',
18 '../../csdk/logger/include',
19 '../../oc_logger/include'
22 ocicuc_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
23 ocicuc_env.PrependUnique(LIBS = ['oc', 'octbstack', 'coap_csdk', 'coap', 'oc_logger', 'connectivity_abstraction'])
25 ocicuc_env.ParseConfig('pkg-config --libs glib-2.0');
27 target_os = env.get('TARGET_OS')
28 if target_os not in ['windows', 'winrt']:
29 ocicuc_env.AppendUnique(CXXFLAGS = ['-std=c++0x'])
31 if target_os == 'android':
32 ocicuc_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
33 ocicuc_env.AppendUnique(CPPDEFINES = ['_GLIBCXX_USE_C99=1', '_GLIBCXX_HAVE_WCSTOF=1'])
34 ocicuc_env.AppendUnique(LIBS = ['boost_program_options-gcc-mt-1_49', 'boost_thread-gcc-mt-1_49', 'gnustl_static'])
36 if not env.get('RELEASE'):
37 ocicuc_env.AppendUnique(LIBS = ['log'])
39 if target_os == 'darwin':
40 ocicuc_env.AppendUnique(LIBS = ['boost_program_options'])
42 ######################################################################
43 # Source files and Targets
44 ######################################################################
45 client = ocicuc_env.Program('client', ['client.cpp', 'driver.cpp', 'utility.cpp'])
46 server = ocicuc_env.Program('server', ['server.cpp', 'driver.cpp', 'utility.cpp', 'light_resource.cpp'])
47 monoprocess = ocicuc_env.Program('monoprocess', ['monoprocess.cpp', 'driver.cpp', 'utility.cpp', 'light_resource.cpp'])
48 small_example = ocicuc_env.Program('small_example', ['small_example.cpp', 'driver.cpp', 'utility.cpp'])
50 Alias("examples_ocicuc", [client, server, monoprocess, small_example])
51 env.AppendTarget('examples_ocicuc')