notification_env.PrependUnique(LIBS = [
'oc_logger',
- 'libnotification_consumer'
+ 'oc',
+ 'notification_consumer'
])
-notification_env.AppendUnique(CXXFLAGS = ['-O2', '-Wall', '-fmessage-length=0', '-std=c++0x','-frtti'])
+
+notification_env.AppendUnique(CXXFLAGS = ['-std=c++0x','-frtti'])
+
+if target_os not in ['windows', 'winrt']:
+ notification_env.AppendUnique(CCFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0'])
+
+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
+ notification_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
+
+if target_os == 'linux':
+ notification_env.AppendUnique(LIBS = ['pthread'])
+
if target_os == 'android':
notification_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
notification_env.PrependUnique(LIBS = ['gnustl_shared', 'log'])
+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)
+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')