[SSM] Apply changed OIC API
[platform/upstream/iotivity.git] / service / soft-sensor-manager / SConscript
1 ##
2 # soft-sensor-manager project build script
3 ##
4
5 Import('env')
6
7 # Add third party libraries
8 lib_env = env.Clone()
9 SConscript(env.get('SRC_DIR') + '/service/third_party_libs.scons', 'lib_env')
10 soft_sensor_manager_env = lib_env.Clone()
11
12 target_os = env.get('TARGET_OS')
13 # As in the source code, it includes arduino Time library (C++)
14 # It requires compile the .c with g++
15 if target_os == 'arduino':
16         soft_sensor_manager_env.Replace(CC = env.get('CXX'))
17         soft_sensor_manager_env.Replace(CFLAGS = env.get('CXXFLAGS'))
18
19 ######################################################################
20 # Build flags
21 ######################################################################
22 if target_os not in ['windows', 'winrt']:
23         soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
24         if target_os != 'android':
25                 soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
26
27 #######################################################################
28 ## build SSM SDK
29 #######################################################################
30 sdk_env = soft_sensor_manager_env.Clone()
31 sdk_env.AppendUnique(CPPPATH = ['SDK/include'])
32
33 ssm_sdk = sdk_env.Object('SDK/src/SSMClient.cpp')
34 i_ssmsdk = sdk_env.Install(env.get('BUILD_DIR'), )
35 Alias('libSSMSDKLibrary', i_ssmsdk)
36 env.AppendTarget('libSSMSDKLibrary')
37
38 ######################################################################
39 # build DiscomfortIndexSensor plugin
40 ######################################################################
41 DiscomfortIndexSensor_env = soft_sensor_manager_env.Clone()
42
43 DiscomfortIndexSensor_env.AppendUnique(CCFLAGS = ['-fPIC'])
44 DISCOMFORTINDEXSENSOR_DIR = 'SoftSensorPlugin/DiscomfortIndexSensor/'
45 DiscomfortIndexSensor_env.AppendUnique(CPPPATH = [
46                 DISCOMFORTINDEXSENSOR_DIR + 'include',
47                 'SSMCore/src/SSMInterface/'
48                 ])
49
50 DiscomfortIndexSensor_src = [ Glob(DISCOMFORTINDEXSENSOR_DIR + 'src/*.cpp')]
51
52 DiscomfortIndexSensor = DiscomfortIndexSensor_env.SharedLibrary('DiscomfortIndexSensor', DiscomfortIndexSensor_src)
53 DiscomfortIndexSensor_env.InstallTarget(DiscomfortIndexSensor, 'libDiscomfortIndexSensor')
54
55 ######################################################################
56 # build SSM CORE
57 ######################################################################
58 ssmcore_env = soft_sensor_manager_env.Clone()
59 MODEL_DIR = "\"\\\"" + env.get('BUILD_DIR') + "\\\"\""
60 LOCATION = "\"\\\"" + env.get('BUILD_DIR') + "HighContextDictionary.xml" + "\\\"\""
61
62 ssmcore_env.AppendUnique(CPPDEFINES = ['MODEL_DIRECTORY='+MODEL_DIR, 'HIGH_LOCATION='+LOCATION])
63 ssmcore_env.AppendUnique(CPPPATH = [
64                 'SSMCore/include/',
65                 'SSMCore/src/',
66                 'SSMCore/src/Common/'
67                 'SSMCore/src/QueryProcessor/'
68                 'SSMCore/src/SensorProcessor/'
69                 'SSMCore/src/SSMInterface/'
70                 ])
71
72 import os.path
73
74 if target_os != 'android':
75         SSMINTERFACE_PATH = 'SSMCore/src/SSMInterface/'
76         omit_src = ['SSMCore_JNI.cpp']
77         ssminterface_src = [f for f in env.Glob(SSMINTERFACE_PATH + '*.cpp') if os.path.basename(f.path) not in omit_src]
78 else :
79         ssminterface_src = Glob(SSMINTERFACE_PATH + '*.cpp')
80
81 ssm_core_cpp_src = [
82                 'SSMCore/src/SSMResourceServerLauncher.cpp',
83                 Glob('SSMCore/src/Common/*.cpp'),
84                 Glob('SSMCore/src/QueryProcessor/*.cpp'),
85                 Glob('SSMCore/src/SensorProcessor/*.cpp'),
86                 ssminterface_src,
87                 ]
88
89 ssm_core_c_src = [
90                 'SSMCore/src/Common/sqlite3.c'
91 ]
92
93 libssmcore = ssmcore_env.StaticLibrary(
94                 target = 'SSMCoreUbuntu',
95                 source = [ssm_core_cpp_src, ssm_core_c_src]
96                 )
97
98 ssmcore_env.InstallTarget(libssmcore, 'libSSMCORE')
99
100 #######################################################################
101 ## build SampleApp
102 #######################################################################
103 #SConscript('SampleApp/SConscript')