replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / notification / cpp-wrapper / consumer / SConscript
index 9244922..f72933e 100755 (executable)
@@ -51,6 +51,7 @@ notification_env.AppendUnique(CPPPATH = ['../../src/common'])
 
 notification_env.PrependUnique(LIBS = [
        'oc_logger',
+       'oc',
        'notification_consumer'
        ])
 
@@ -69,24 +70,70 @@ if target_os == 'android':
     notification_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
     notification_env.PrependUnique(LIBS = ['gnustl_shared', 'log'])
 
-if not env.get('RELEASE'):
+if not env.get('RELEASE') and target_os not in ['ios']:
     notification_env.PrependUnique(LIBS = ['gcov'])
     notification_env.AppendUnique(CCFLAGS = ['--coverage'])
 
 if env.get('WITH_CLOUD') == True:
        notification_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD'])
 
+with_mq = env.get('WITH_MQ')
+if 'SUB' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ'])
+    print "MQ SUB support"
+
+if 'PUB' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ'])
+    print "MQ PUB support"
+
+if 'BROKER' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ'])
+    print "MQ Broker support"
 ######################################################################
-# Source files and Targets
+# Source files and Targets for Consumer
 ######################################################################
+notification_jni_consumer_env = notification_env.Clone()
+
+Import('notificationCommonStaticObjs')
+Import('notificationCommonSharedObjs')
 
 notification_consumer_src = [
-       env.Glob('src/*.cpp'),env.Glob('../common/*.cpp')]
+       env.Glob('src/*.cpp'),notificationCommonSharedObjs]
 
-consumersdk = notification_env.SharedLibrary('notification_consumer_wrapper', notification_consumer_src)
-notification_env.InstallTarget(consumersdk, 'libnotification_consumer_wrapper')
-notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer_wrapper')
+if target_os not in ['ios']:
+       consumersdk = notification_env.SharedLibrary('notification_consumer_wrapper', notification_consumer_src)
+       notification_env.InstallTarget(consumersdk, 'libnotification_consumer_wrapper')
+       notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer_wrapper')
+
+notification_consumer_src = [
+       env.Glob('src/*.cpp'),notificationCommonStaticObjs]
 
 consumersdk = notification_env.StaticLibrary('notification_consumer_wrapper', notification_consumer_src)
 notification_env.InstallTarget(consumersdk, 'libnotification_consumer_wrapper')
 notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer_wrapper')
+
+notification_env.UserInstallTargetHeader("inc/NSProvider.h", 'service/notification', 'NSProvider.h')
+notification_env.UserInstallTargetHeader("inc/NSConsumerService.h", 'service/notification', 'NSConsumerService.h')
+
+######################################################################
+# Source files and Targets for Consumer Jni
+######################################################################
+if target_os == 'android':
+       Import('notificationJniCommonSharedObjs')
+
+       notification_jni_consumer_env.AppendUnique(CPPPATH = ['../../../../extlibs/boost/boost_1_58_0'])
+       notification_jni_consumer_env.AppendUnique(CPPPATH = ['../../../../android/android_api/base/jni'])
+       notification_jni_consumer_env.AppendUnique(CPPPATH = ['../../android/notification-service/src/main/jni/common'])
+       notification_jni_consumer_env.AppendUnique(CPPPATH = ['../../android/notification-service/src/main/jni/consumer'])
+
+       notification_jni_consumer_env.PrependUnique(LIBS = [
+               'notification_consumer_wrapper'
+               ])
+
+       notification_consumer_jni_src = [
+               env.Glob('../../android/notification-service/src/main/jni/consumer/*.cpp'),
+               notificationJniCommonSharedObjs]
+
+       consumerJni = notification_jni_consumer_env.SharedLibrary('notification_consumer_jni', notification_consumer_jni_src)
+       notification_jni_consumer_env.InstallTarget(consumerJni, 'libnotification_consumer_jni')
+       notification_jni_consumer_env.UserInstallTargetLib(consumerJni, 'libnotification_consumer_jni')