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 #######################################################################
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/cpp/include'])
36 Glob('SDK/cpp/src/*.cpp')
39 env.AppendTarget('libSSMSDK')
40 libssmsdk = sdk_env.StaticLibrary(
42 source = [ssm_sdk_cpp_src]
44 sdk_env.InstallTarget(libssmsdk, 'libSSMCORE')
46 ######################################################################
47 # build DiscomfortIndexSensor plugin
48 ######################################################################
49 DiscomfortIndexSensor_env = soft_sensor_manager_env.Clone()
51 DiscomfortIndexSensor_env.AppendUnique(CCFLAGS = ['-fPIC'])
52 DISCOMFORTINDEXSENSOR_DIR = 'SoftSensorPlugin/DiscomfortIndexSensor/'
53 DiscomfortIndexSensor_env.AppendUnique(CPPPATH = [
54 DISCOMFORTINDEXSENSOR_DIR + 'include',
55 'SSMCore/src/SSMInterface/'
58 DiscomfortIndexSensor_src = [ Glob(DISCOMFORTINDEXSENSOR_DIR + 'src/*.cpp')]
60 DiscomfortIndexSensor = DiscomfortIndexSensor_env.SharedLibrary('DiscomfortIndexSensor', DiscomfortIndexSensor_src)
61 DiscomfortIndexSensor_env.InstallTarget(DiscomfortIndexSensor, 'libDiscomfortIndexSensor')
63 ######################################################################
65 ######################################################################
66 ssmcore_env = soft_sensor_manager_env.Clone()
68 ssmcore_env.AppendUnique(CPPPATH = [
72 'SSMCore/src/QueryProcessor/'
73 'SSMCore/src/SensorProcessor/'
74 'SSMCore/src/SSMInterface/'
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]
84 ssminterface_src = Glob(SSMINTERFACE_PATH + '*.cpp')
87 Glob('SSMCore/src/Common/*.cpp'),
88 Glob('SSMCore/src/QueryProcessor/*.cpp'),
89 Glob('SSMCore/src/SensorProcessor/*.cpp'),
94 'SSMCore/src/Common/sqlite3.c'
97 libssmcore = ssmcore_env.StaticLibrary(
99 source = [ssm_core_cpp_src, ssm_core_c_src]
102 ssmcore_env.InstallTarget(libssmcore, 'libSSMCORE')
104 #######################################################################
106 #######################################################################
107 SConscript('SampleApp/SConscript')
110 ######################################################################
111 # Copy description xml and deliverables
112 ######################################################################
113 Command("SSMTesterApp","SampleApp/linux/SSMTesterApp/SSMTesterApp", Copy("$TARGET", "$SOURCE"))
114 Command("SoftSensorDescription.xml", "SoftSensorPlugin/SoftSensorDescription.xml", Copy("$TARGET", "$SOURCE"))
115 Command("THSensorApp","SampleApp/linux/THSensorApp/THSensorApp", Copy("$TARGET", "$SOURCE"))
116 Command("THSensorApp1","SampleApp/linux/THSensorApp1/THSensorApp1", Copy("$TARGET", "$SOURCE"))