[SSM] Fix build script
[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', '-DLINUX'])
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 = ['SSMCore/include'])
32 sdk_env.AppendUnique(CPPPATH = ['SSMCore/src'])
33 sdk_env.AppendUnique(CPPPATH = ['SDK/include'])
34
35 ssm_sdk_cpp_src = [
36                 Glob('SDK/src/*.cpp')
37                 ]
38
39 env.AppendTarget('libSSMSDK')
40 libssmsdk = sdk_env.StaticLibrary(
41                 target = 'libSSMSDK',
42                 source = [ssm_sdk_cpp_src]
43                 )               
44 sdk_env.InstallTarget(libssmsdk, 'libSSMCORE')
45
46 ######################################################################
47 # build DiscomfortIndexSensor plugin
48 ######################################################################
49 DiscomfortIndexSensor_env = soft_sensor_manager_env.Clone()
50
51 DiscomfortIndexSensor_env.AppendUnique(CCFLAGS = ['-fPIC'])
52 DISCOMFORTINDEXSENSOR_DIR = 'SoftSensorPlugin/DiscomfortIndexSensor/'
53 DiscomfortIndexSensor_env.AppendUnique(CPPPATH = [
54                 DISCOMFORTINDEXSENSOR_DIR + 'include',
55                 'SSMCore/src/SSMInterface/'
56                 ])
57
58 DiscomfortIndexSensor_src = [ Glob(DISCOMFORTINDEXSENSOR_DIR + 'src/*.cpp')]
59
60 DiscomfortIndexSensor = DiscomfortIndexSensor_env.SharedLibrary('DiscomfortIndexSensor', DiscomfortIndexSensor_src)
61 DiscomfortIndexSensor_env.InstallTarget(DiscomfortIndexSensor, 'libDiscomfortIndexSensor')
62
63 ######################################################################
64 # build SSM CORE
65 ######################################################################
66 ssmcore_env = soft_sensor_manager_env.Clone()
67
68 ssmcore_env.AppendUnique(CPPPATH = [
69                 'SSMCore/include/',
70                 'SSMCore/src/',
71                 'SSMCore/src/Common/'
72                 'SSMCore/src/QueryProcessor/'
73                 'SSMCore/src/SensorProcessor/'
74                 'SSMCore/src/SSMInterface/'
75                 ])
76
77 import os.path
78
79 if target_os != 'android':
80         SSMINTERFACE_PATH = 'SSMCore/src/SSMInterface/'
81         omit_src = ['SSMCore_JNI.cpp']
82         ssminterface_src = [f for f in env.Glob(SSMINTERFACE_PATH + '*.cpp') if os.path.basename(f.path) not in omit_src]
83 else :
84         ssminterface_src = Glob(SSMINTERFACE_PATH + '*.cpp')
85
86 ssm_core_cpp_src = [
87                 Glob('SSMCore/src/Common/*.cpp'),
88                 Glob('SSMCore/src/QueryProcessor/*.cpp'),
89                 Glob('SSMCore/src/SensorProcessor/*.cpp'),
90                 ssminterface_src,
91                 ]
92
93 ssm_core_c_src = [
94                 'SSMCore/src/Common/sqlite3.c'
95 ]
96
97 libssmcore = ssmcore_env.StaticLibrary(
98                 target = 'SSMCore',
99                 source = [ssm_core_cpp_src, ssm_core_c_src]
100                 )
101
102 ssmcore_env.InstallTarget(libssmcore, 'libSSMCORE')
103
104 #######################################################################
105 ## build SampleApp
106 #######################################################################
107 SConscript('SampleApp/SConscript')