Browse Source

Merge pull request #379 from hanseuljun/uwp-examples

Supporting Examples in UWP
Paul-Louis Ageneau 4 years ago
parent
commit
33c7518b17
63 changed files with 459 additions and 9 deletions
  1. 1 1
      CMakeLists.txt
  2. 15 1
      examples/client/CMakeLists.txt
  3. BIN
      examples/client/uwp/Logo.png
  4. BIN
      examples/client/uwp/SmallLogo.png
  5. BIN
      examples/client/uwp/SmallLogo44x44.png
  6. BIN
      examples/client/uwp/SplashScreen.png
  7. BIN
      examples/client/uwp/StoreLogo.png
  8. BIN
      examples/client/uwp/Windows_TemporaryKey.pfx
  9. 42 0
      examples/client/uwp/package.appxManifest
  10. 30 2
      examples/copy-paste-capi/CMakeLists.txt
  11. BIN
      examples/copy-paste-capi/uwp/answerer/Logo.png
  12. BIN
      examples/copy-paste-capi/uwp/answerer/SmallLogo.png
  13. BIN
      examples/copy-paste-capi/uwp/answerer/SmallLogo44x44.png
  14. BIN
      examples/copy-paste-capi/uwp/answerer/SplashScreen.png
  15. BIN
      examples/copy-paste-capi/uwp/answerer/StoreLogo.png
  16. BIN
      examples/copy-paste-capi/uwp/answerer/Windows_TemporaryKey.pfx
  17. 42 0
      examples/copy-paste-capi/uwp/answerer/package.appxManifest
  18. BIN
      examples/copy-paste-capi/uwp/offerer/Logo.png
  19. BIN
      examples/copy-paste-capi/uwp/offerer/SmallLogo.png
  20. BIN
      examples/copy-paste-capi/uwp/offerer/SmallLogo44x44.png
  21. BIN
      examples/copy-paste-capi/uwp/offerer/SplashScreen.png
  22. BIN
      examples/copy-paste-capi/uwp/offerer/StoreLogo.png
  23. BIN
      examples/copy-paste-capi/uwp/offerer/Windows_TemporaryKey.pfx
  24. 42 0
      examples/copy-paste-capi/uwp/offerer/package.appxManifest
  25. 30 2
      examples/copy-paste/CMakeLists.txt
  26. BIN
      examples/copy-paste/uwp/answerer/Logo.png
  27. BIN
      examples/copy-paste/uwp/answerer/SmallLogo.png
  28. BIN
      examples/copy-paste/uwp/answerer/SmallLogo44x44.png
  29. BIN
      examples/copy-paste/uwp/answerer/SplashScreen.png
  30. BIN
      examples/copy-paste/uwp/answerer/StoreLogo.png
  31. BIN
      examples/copy-paste/uwp/answerer/Windows_TemporaryKey.pfx
  32. 42 0
      examples/copy-paste/uwp/answerer/package.appxManifest
  33. BIN
      examples/copy-paste/uwp/offerer/Logo.png
  34. BIN
      examples/copy-paste/uwp/offerer/SmallLogo.png
  35. BIN
      examples/copy-paste/uwp/offerer/SmallLogo44x44.png
  36. BIN
      examples/copy-paste/uwp/offerer/SplashScreen.png
  37. BIN
      examples/copy-paste/uwp/offerer/StoreLogo.png
  38. BIN
      examples/copy-paste/uwp/offerer/Windows_TemporaryKey.pfx
  39. 42 0
      examples/copy-paste/uwp/offerer/package.appxManifest
  40. 15 1
      examples/media/CMakeLists.txt
  41. BIN
      examples/media/uwp/Logo.png
  42. BIN
      examples/media/uwp/SmallLogo.png
  43. BIN
      examples/media/uwp/SmallLogo44x44.png
  44. BIN
      examples/media/uwp/SplashScreen.png
  45. BIN
      examples/media/uwp/StoreLogo.png
  46. BIN
      examples/media/uwp/Windows_TemporaryKey.pfx
  47. 42 0
      examples/media/uwp/package.appxManifest
  48. 15 1
      examples/sfu-media/CMakeLists.txt
  49. BIN
      examples/sfu-media/uwp/Logo.png
  50. BIN
      examples/sfu-media/uwp/SmallLogo.png
  51. BIN
      examples/sfu-media/uwp/SmallLogo44x44.png
  52. BIN
      examples/sfu-media/uwp/SplashScreen.png
  53. BIN
      examples/sfu-media/uwp/StoreLogo.png
  54. BIN
      examples/sfu-media/uwp/Windows_TemporaryKey.pfx
  55. 42 0
      examples/sfu-media/uwp/package.appxManifest
  56. 17 1
      examples/streamer/CMakeLists.txt
  57. BIN
      examples/streamer/uwp/Logo.png
  58. BIN
      examples/streamer/uwp/SmallLogo.png
  59. BIN
      examples/streamer/uwp/SmallLogo44x44.png
  60. BIN
      examples/streamer/uwp/SplashScreen.png
  61. BIN
      examples/streamer/uwp/StoreLogo.png
  62. BIN
      examples/streamer/uwp/Windows_TemporaryKey.pfx
  63. 42 0
      examples/streamer/uwp/package.appxManifest

+ 1 - 1
CMakeLists.txt

@@ -365,7 +365,7 @@ if(NOT NO_TESTS)
 endif()
 
 # Examples
-if(NOT NO_EXAMPLES AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT NO_EXAMPLES)
 	set(JSON_BuildTests OFF CACHE INTERNAL "")
 	add_subdirectory(deps/json)
 	add_subdirectory(examples/client)

+ 15 - 1
examples/client/CMakeLists.txt

@@ -3,8 +3,22 @@ if(POLICY CMP0079)
 	cmake_policy(SET CMP0079 NEW)
 endif()
 
+set(CLIENT_UWP_RESOURCES
+	uwp/Logo.png
+	uwp/package.appxManifest
+	uwp/SmallLogo.png
+	uwp/SmallLogo44x44.png
+	uwp/SplashScreen.png
+	uwp/StoreLogo.png
+	uwp/Windows_TemporaryKey.pfx
+)
+
 if(WIN32)
-	add_executable(datachannel-client main.cpp parse_cl.cpp parse_cl.h getopt.cpp getopt.h)
+	if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-client main.cpp parse_cl.cpp parse_cl.h getopt.cpp getopt.h ${CLIENT_UWP_RESOURCES})
+	else()
+	    add_executable(datachannel-client main.cpp parse_cl.cpp parse_cl.h getopt.cpp getopt.h)
+	endif()
 	target_compile_definitions(datachannel-client PUBLIC STATIC_GETOPT)
 else()
 	add_executable(datachannel-client main.cpp parse_cl.cpp parse_cl.h)

BIN
examples/client/uwp/Logo.png


BIN
examples/client/uwp/SmallLogo.png


BIN
examples/client/uwp/SmallLogo44x44.png


BIN
examples/client/uwp/SplashScreen.png


BIN
examples/client/uwp/StoreLogo.png


BIN
examples/client/uwp/Windows_TemporaryKey.pfx


+ 42 - 0
examples/client/uwp/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="274EF42C-A3FB-3D6C-B127-E39C508A4F0E" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="274EF42C-A3FB-3D6C-B127-E39C508A4F0E" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-client</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application 
+			Id="App"
+			Executable="client.exe"
+			EntryPoint="datachannel-client.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-client"
+				Description="datachannel-client"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

+ 30 - 2
examples/copy-paste-capi/CMakeLists.txt

@@ -3,12 +3,40 @@ project(offerer C)
 
 set(CMAKE_C_STANDARD 11)
 
-add_executable(datachannel-copy-paste-capi-offerer offerer.c)
+set(OFFERER_UWP_RESOURCES
+	uwp/offerer/Logo.png
+	uwp/offerer/package.appxManifest
+	uwp/offerer/SmallLogo.png
+	uwp/offerer/SmallLogo44x44.png
+	uwp/offerer/SplashScreen.png
+	uwp/offerer/StoreLogo.png
+	uwp/offerer/Windows_TemporaryKey.pfx
+)
+
+set(ANSWERER_UWP_RESOURCES
+	uwp/answerer/Logo.png
+	uwp/answerer/package.appxManifest
+	uwp/answerer/SmallLogo.png
+	uwp/answerer/SmallLogo44x44.png
+	uwp/answerer/SplashScreen.png
+	uwp/answerer/StoreLogo.png
+	uwp/answerer/Windows_TemporaryKey.pfx
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-copy-paste-capi-offerer offerer.c ${OFFERER_UWP_RESOURCES})
+else()
+	add_executable(datachannel-copy-paste-capi-offerer offerer.c)
+endif()
 set_target_properties(datachannel-copy-paste-capi-offerer PROPERTIES
 	OUTPUT_NAME offerer)
 target_link_libraries(datachannel-copy-paste-capi-offerer datachannel)
 
-add_executable(datachannel-copy-paste-capi-answerer answerer.c)
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-copy-paste-capi-answerer answerer.c ${ANSWERER_UWP_RESOURCES})
+else()
+	add_executable(datachannel-copy-paste-capi-answerer answerer.c)
+endif()
 set_target_properties(datachannel-copy-paste-capi-answerer PROPERTIES
 	OUTPUT_NAME answerer)
 target_link_libraries(datachannel-copy-paste-capi-answerer datachannel)

BIN
examples/copy-paste-capi/uwp/answerer/Logo.png


BIN
examples/copy-paste-capi/uwp/answerer/SmallLogo.png


BIN
examples/copy-paste-capi/uwp/answerer/SmallLogo44x44.png


BIN
examples/copy-paste-capi/uwp/answerer/SplashScreen.png


BIN
examples/copy-paste-capi/uwp/answerer/StoreLogo.png


BIN
examples/copy-paste-capi/uwp/answerer/Windows_TemporaryKey.pfx


+ 42 - 0
examples/copy-paste-capi/uwp/answerer/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="9751ACA6-5428-3AF2-AED6-2DDA8D2FD777" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="9751ACA6-5428-3AF2-AED6-2DDA8D2FD777" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-copy-paste-capi-answerer</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="answerer.exe"
+			EntryPoint="datachannel-copy-paste-capi-answerer.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-copy-paste-capi-answerer"
+				Description="datachannel-copy-paste-capi-answerer"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

BIN
examples/copy-paste-capi/uwp/offerer/Logo.png


BIN
examples/copy-paste-capi/uwp/offerer/SmallLogo.png


BIN
examples/copy-paste-capi/uwp/offerer/SmallLogo44x44.png


BIN
examples/copy-paste-capi/uwp/offerer/SplashScreen.png


BIN
examples/copy-paste-capi/uwp/offerer/StoreLogo.png


BIN
examples/copy-paste-capi/uwp/offerer/Windows_TemporaryKey.pfx


+ 42 - 0
examples/copy-paste-capi/uwp/offerer/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="D63472B9-2085-3CA0-96B2-895D164F4155" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="D63472B9-2085-3CA0-96B2-895D164F4155" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-copy-paste-capi-offerer</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application 
+			Id="App"
+			Executable="offerer.exe"
+			EntryPoint="datachannel-copy-paste-capi-offerer.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-copy-paste-capi-offerer"
+				Description="datachannel-copy-paste-capi-offerer"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

+ 30 - 2
examples/copy-paste/CMakeLists.txt

@@ -1,12 +1,40 @@
 cmake_minimum_required(VERSION 3.7)
 
-add_executable(datachannel-copy-paste-offerer offerer.cpp)
+set(OFFERER_UWP_RESOURCES
+	uwp/offerer/Logo.png
+	uwp/offerer/package.appxManifest
+	uwp/offerer/SmallLogo.png
+	uwp/offerer/SmallLogo44x44.png
+	uwp/offerer/SplashScreen.png
+	uwp/offerer/StoreLogo.png
+	uwp/offerer/Windows_TemporaryKey.pfx
+)
+
+set(ANSWERER_UWP_RESOURCES
+	uwp/answerer/Logo.png
+	uwp/answerer/package.appxManifest
+	uwp/answerer/SmallLogo.png
+	uwp/answerer/SmallLogo44x44.png
+	uwp/answerer/SplashScreen.png
+	uwp/answerer/StoreLogo.png
+	uwp/answerer/Windows_TemporaryKey.pfx
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-copy-paste-offerer offerer.cpp ${OFFERER_UWP_RESOURCES})
+else()
+	add_executable(datachannel-copy-paste-offerer offerer.cpp)
+endif()
 set_target_properties(datachannel-copy-paste-offerer PROPERTIES
 	CXX_STANDARD 17
 	OUTPUT_NAME offerer)
 target_link_libraries(datachannel-copy-paste-offerer datachannel)
 
-add_executable(datachannel-copy-paste-answerer answerer.cpp)
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-copy-paste-answerer answerer.cpp ${ANSWERER_UWP_RESOURCES})
+else()
+	add_executable(datachannel-copy-paste-answerer answerer.cpp)
+endif()
 set_target_properties(datachannel-copy-paste-answerer PROPERTIES
 	CXX_STANDARD 17
 	OUTPUT_NAME answerer)

BIN
examples/copy-paste/uwp/answerer/Logo.png


BIN
examples/copy-paste/uwp/answerer/SmallLogo.png


BIN
examples/copy-paste/uwp/answerer/SmallLogo44x44.png


BIN
examples/copy-paste/uwp/answerer/SplashScreen.png


BIN
examples/copy-paste/uwp/answerer/StoreLogo.png


BIN
examples/copy-paste/uwp/answerer/Windows_TemporaryKey.pfx


+ 42 - 0
examples/copy-paste/uwp/answerer/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="86FAC2A3-40CD-393F-9F55-52A30E0D3B8F" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="86FAC2A3-40CD-393F-9F55-52A30E0D3B8F" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-copy-paste-answerer</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="answerer.exe"
+			EntryPoint="datachannel-copy-paste-answerer.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-copy-paste-answerer"
+				Description="datachannel-copy-paste-answerer"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

BIN
examples/copy-paste/uwp/offerer/Logo.png


BIN
examples/copy-paste/uwp/offerer/SmallLogo.png


BIN
examples/copy-paste/uwp/offerer/SmallLogo44x44.png


BIN
examples/copy-paste/uwp/offerer/SplashScreen.png


BIN
examples/copy-paste/uwp/offerer/StoreLogo.png


BIN
examples/copy-paste/uwp/offerer/Windows_TemporaryKey.pfx


+ 42 - 0
examples/copy-paste/uwp/offerer/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="68160929-CE5F-3FC1-A120-BCB1C223FC2F" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="68160929-CE5F-3FC1-A120-BCB1C223FC2F" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-copy-paste-offerer</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="offerer.exe"
+			EntryPoint="datachannel-copy-paste-offerer.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-copy-paste-offerer"
+				Description="datachannel-copy-paste-offerer"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

+ 15 - 1
examples/media/CMakeLists.txt

@@ -1,6 +1,20 @@
 cmake_minimum_required(VERSION 3.7)
 
-add_executable(datachannel-media main.cpp)
+set(MEDIA_UWP_RESOURCES
+	uwp/Logo.png
+	uwp/package.appxManifest
+	uwp/SmallLogo.png
+	uwp/SmallLogo44x44.png
+	uwp/SplashScreen.png
+	uwp/StoreLogo.png
+	uwp/Windows_TemporaryKey.pfx
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-media main.cpp ${MEDIA_UWP_RESOURCES})
+else()
+	add_executable(datachannel-media main.cpp)
+endif()
 set_target_properties(datachannel-media PROPERTIES
         CXX_STANDARD 17
         OUTPUT_NAME media)

BIN
examples/media/uwp/Logo.png


BIN
examples/media/uwp/SmallLogo.png


BIN
examples/media/uwp/SmallLogo44x44.png


BIN
examples/media/uwp/SplashScreen.png


BIN
examples/media/uwp/StoreLogo.png


BIN
examples/media/uwp/Windows_TemporaryKey.pfx


+ 42 - 0
examples/media/uwp/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="6597869B-290B-3EC7-AC50-87D2B9B408A2" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="6597869B-290B-3EC7-AC50-87D2B9B408A2" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-media</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="media.exe"
+			EntryPoint="datachannel-media.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-media"
+				Description="datachannel-media"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

+ 15 - 1
examples/sfu-media/CMakeLists.txt

@@ -1,6 +1,20 @@
 cmake_minimum_required(VERSION 3.7)
 
-add_executable(datachannel-sfu-media main.cpp)
+set(SFU_MEDIA_UWP_RESOURCES
+	uwp/Logo.png
+	uwp/package.appxManifest
+	uwp/SmallLogo.png
+	uwp/SmallLogo44x44.png
+	uwp/SplashScreen.png
+	uwp/StoreLogo.png
+	uwp/Windows_TemporaryKey.pfx
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(datachannel-sfu-media main.cpp ${SFU_MEDIA_UWP_RESOURCES})
+else()
+	add_executable(datachannel-sfu-media main.cpp)
+endif()
 set_target_properties(datachannel-sfu-media PROPERTIES
 		CXX_STANDARD 17
 		OUTPUT_NAME sfu-media)

BIN
examples/sfu-media/uwp/Logo.png


BIN
examples/sfu-media/uwp/SmallLogo.png


BIN
examples/sfu-media/uwp/SmallLogo44x44.png


BIN
examples/sfu-media/uwp/SplashScreen.png


BIN
examples/sfu-media/uwp/StoreLogo.png


BIN
examples/sfu-media/uwp/Windows_TemporaryKey.pfx


+ 42 - 0
examples/sfu-media/uwp/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="A2137F64-F4DB-39E1-8A6E-19BF1A64645A" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="A2137F64-F4DB-39E1-8A6E-19BF1A64645A" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>datachannel-sfu-media</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="sfu-media.exe"
+			EntryPoint="datachannel-sfu-media.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="datachannel-sfu-media"
+				Description="datachannel-sfu-media"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>

+ 17 - 1
examples/streamer/CMakeLists.txt

@@ -3,7 +3,7 @@ if(POLICY CMP0079)
 	cmake_policy(SET CMP0079 NEW)
 endif()
 
-add_executable(streamer
+set(STREAMER_SOURCES
 	main.cpp
 	dispatchqueue.cpp
 	dispatchqueue.hpp
@@ -21,6 +21,22 @@ add_executable(streamer
 	ArgParser.hpp
 )
 
+set(STREAMER_UWP_RESOURCES
+	uwp/Logo.png
+	uwp/package.appxManifest
+	uwp/SmallLogo.png
+	uwp/SmallLogo44x44.png
+	uwp/SplashScreen.png
+	uwp/StoreLogo.png
+	uwp/Windows_TemporaryKey.pfx
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+	add_executable(streamer ${STREAMER_SOURCES} ${STREAMER_UWP_RESOURCES})
+else()
+	add_executable(streamer ${STREAMER_SOURCES})
+endif()
+
 if(WIN32)
 	target_compile_definitions(streamer PUBLIC STATIC_GETOPT)
 endif()

BIN
examples/streamer/uwp/Logo.png


BIN
examples/streamer/uwp/SmallLogo.png


BIN
examples/streamer/uwp/SmallLogo44x44.png


BIN
examples/streamer/uwp/SplashScreen.png


BIN
examples/streamer/uwp/StoreLogo.png


BIN
examples/streamer/uwp/Windows_TemporaryKey.pfx


+ 42 - 0
examples/streamer/uwp/package.appxManifest

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package
+	xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+	xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+	xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+	xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
+	xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
+	IgnorableNamespaces="uap mp">
+
+	<Identity Name="84B30BB9-5FF7-36A6-9F72-8BA5B2594C7F" Publisher="CN=CMake" Version="1.0.0.0" />
+	<mp:PhoneIdentity PhoneProductId="84B30BB9-5FF7-36A6-9F72-8BA5B2594C7F" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+	<Properties>
+		<DisplayName>streamer</DisplayName>
+		<PublisherDisplayName>CMake</PublisherDisplayName>
+		<Logo>StoreLogo.png</Logo>
+	</Properties>
+	<Dependencies>
+		<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+	</Dependencies>
+	<Resources>
+		<Resource Language="x-generate" />
+	</Resources>
+	<Applications>
+		<Application
+			Id="App"
+			Executable="streamer.exe"
+			EntryPoint="streamer.App"
+			desktop4:Subsystem="console"
+			desktop4:SupportsMultipleInstances="true"
+			iot2:Subsystem="console"
+			iot2:SupportsMultipleInstances="true">
+			<uap:VisualElements
+				DisplayName="streamer"
+				Description="streamer"
+				BackgroundColor="#336699"
+				Square150x150Logo="Logo.png"
+				Square44x44Logo="SmallLogo44x44.png">
+				<uap:SplashScreen Image="SplashScreen.png" />
+			</uap:VisualElements>
+		</Application>
+	</Applications>
+</Package>