-simpleserver = examples_env.Program('simpleserver', 'simpleserver.cpp')
-simpleclient = examples_env.Program('simpleclient', 'simpleclient.cpp')
-simpleserverHQ = examples_env.Program('simpleserverHQ', 'simpleserverHQ.cpp')
-simpleclientHQ = examples_env.Program('simpleclientHQ', 'simpleclientHQ.cpp')
-fridgeserver = examples_env.Program('fridgeserver', 'fridgeserver.cpp')
-fridgeclient = examples_env.Program('fridgeclient', 'fridgeclient.cpp')
-presenceserver = examples_env.Program('presenceserver', 'presenceserver.cpp')
-presenceclient = examples_env.Program('presenceclient', 'presenceclient.cpp')
-simpleclientserver = examples_env.Program('simpleclientserver', 'simpleclientserver.cpp')
-roomserver = examples_env.Program('roomserver', 'roomserver.cpp')
-roomclient = examples_env.Program('roomclient', 'roomclient.cpp')
-garageserver = examples_env.Program('garageserver', 'garageserver.cpp')
-garageclient = examples_env.Program('garageclient', 'garageclient.cpp')
-groupserver = examples_env.Program('groupserver', 'groupserver.cpp')
-groupclient = examples_env.Program('groupclient', 'groupclient.cpp')
-lightserver = examples_env.Program('lightserver', 'lightserver.cpp')
-devicediscoveryserver = examples_env.Program('devicediscoveryserver', 'devicediscoveryserver.cpp')
-devicediscoveryclient = examples_env.Program('devicediscoveryclient', 'devicediscoveryclient.cpp')
-threadingsample = examples_env.Program('threadingsample', 'threadingsample.cpp')
-
-Alias("examples", [simpleserver, simpleclient,
- simpleserverHQ, simpleclientHQ,
- fridgeserver, fridgeclient,
- presenceserver, presenceclient,
- simpleclientserver, roomserver, roomclient, garageserver,
- garageclient,
- groupserver, groupclient,
- lightserver,
- devicediscoveryserver, devicediscoveryclient,
- threadingsample
- ])
-env.AppendTarget('examples')
+example_names = [
+ 'simpleserver', 'simpleclient',
+ 'simpleclientserver',
+ 'directpairingclient',
+ 'devicediscoveryserver', 'devicediscoveryclient',
+ 'simpleserverHQ', 'simpleclientHQ',
+ ]
+
+if target_os not in ['windows', 'msys_nt']:
+ example_names += [
+ 'fridgeserver', 'fridgeclient',
+ 'roomserver', 'roomclient',
+ 'garageserver',
+ 'garageclient',
+ 'groupserver',
+ 'groupclient',
+ 'lightserver',
+ 'threadingsample',
+ ]
+ if 'CLIENT' in examples_env.get('RD_MODE'):
+ examples_env.AppendUnique(CPPPATH = ['../csdk/resource-directory/include'])
+ example_names += ['rdclient']
+ examples_env.AppendUnique(LIBS = ['resource_directory'])
+ if examples_env.get('DISABLE_PRESENCE') == False:
+ example_names += ['presenceserver', 'presenceclient']
+
+examples = list(map(make_single_file_cpp_program, example_names))
+
+######################################################################
+# Other examples
+######################################################################
+clientjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/',
+ examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.dat')
+serverjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/',
+ examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.dat')
+directpairingdat = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/',
+ examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client_directpairing.dat')
+
+examples += [clientjson, serverjson, directpairingdat]