2 # soft-sensor-manager project build script
7 # Add third party libraries
9 SConscript(env.get('SRC_DIR') + '/service/third_party_libs.scons', 'lib_env')
10 soft_sensor_manager_env = lib_env.Clone()
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'))
19 ######################################################################
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'])
27 if target_os == 'android':
28 soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
29 soft_sensor_manager_env.AppendUnique(LIBS = ['gnustl_static', 'compatibility'])
31 if not env.get('RELEASE'):
32 soft_sensor_manager_env.AppendUnique(LIBS = ['log'])
34 #######################################################################
36 #######################################################################
37 sdk_env = soft_sensor_manager_env.Clone()
38 sdk_env.AppendUnique(CPPPATH = ['SSMCore/include'])
39 sdk_env.AppendUnique(CPPPATH = ['SSMCore/src'])
40 sdk_env.AppendUnique(CPPPATH = ['SDK/cpp/include'])
43 Glob('SDK/cpp/src/*.cpp')
46 env.AppendTarget('libSSMSDK')
47 libssmsdk = sdk_env.StaticLibrary(
49 source = [ssm_sdk_cpp_src]
51 sdk_env.InstallTarget(libssmsdk, 'libSSMCORE')
53 ######################################################################
54 # build DiscomfortIndexSensor plugin
55 ######################################################################
56 DiscomfortIndexSensor_env = soft_sensor_manager_env.Clone()
58 DiscomfortIndexSensor_env.AppendUnique(CCFLAGS = ['-fPIC'])
59 DISCOMFORTINDEXSENSOR_DIR = 'SoftSensorPlugin/DiscomfortIndexSensor/'
60 DiscomfortIndexSensor_env.AppendUnique(CPPPATH = [
61 DISCOMFORTINDEXSENSOR_DIR + 'include',
62 'SSMCore/src/SSMInterface/'
65 DiscomfortIndexSensor_src = [ Glob(DISCOMFORTINDEXSENSOR_DIR + 'src/*.cpp')]
67 DiscomfortIndexSensor = DiscomfortIndexSensor_env.SharedLibrary('DiscomfortIndexSensor', DiscomfortIndexSensor_src)
68 DiscomfortIndexSensor_env.InstallTarget(DiscomfortIndexSensor, 'libDiscomfortIndexSensor')
70 ######################################################################
72 ######################################################################
73 ssmcore_env = soft_sensor_manager_env.Clone()
75 ssmcore_env.AppendUnique(CPPPATH = [
79 'SSMCore/src/QueryProcessor/'
80 'SSMCore/src/SensorProcessor/'
81 'SSMCore/src/SSMInterface/'
86 SSMINTERFACE_PATH = 'SSMCore/src/SSMInterface/'
88 if target_os != 'android':
89 omit_src = ['SSMCore_JNI.cpp']
90 ssminterface_src = [f for f in env.Glob(SSMINTERFACE_PATH + '*.cpp') if os.path.basename(f.path) not in omit_src]
92 ssminterface_src = Glob(SSMINTERFACE_PATH + '*.cpp')
95 Glob('SSMCore/src/Common/*.cpp'),
96 Glob('SSMCore/src/QueryProcessor/*.cpp'),
97 Glob('SSMCore/src/SensorProcessor/*.cpp'),
102 'SSMCore/src/Common/sqlite3.c'
105 libssmcore = ssmcore_env.StaticLibrary(
107 source = [ssm_core_cpp_src, ssm_core_c_src]
110 ssmcore_env.InstallTarget(libssmcore, 'libSSMCORE')
112 #######################################################################
114 #######################################################################
115 SConscript('SampleApp/SConscript')
118 ######################################################################
119 # Copy description xml and deliverables
120 ######################################################################
121 if target_os == 'linux':
122 Command("SSMTesterApp","SampleApp/linux/SSMTesterApp/SSMTesterApp", Copy("$TARGET", "$SOURCE"))
123 Command("SoftSensorDescription.xml", "SoftSensorPlugin/SoftSensorDescription.xml", Copy("$TARGET", "$SOURCE"))
124 Command("THSensorApp","SampleApp/linux/THSensorApp/THSensorApp", Copy("$TARGET", "$SOURCE"))
125 Command("THSensorApp1","SampleApp/linux/THSensorApp1/THSensorApp1", Copy("$TARGET", "$SOURCE"))