CMakePresets.json 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. {
  2. "version": 5,
  3. "cmakeMinimumRequired": {
  4. "major": 3,
  5. "minor": 22,
  6. "patch": 0
  7. },
  8. "configurePresets": [
  9. {
  10. "name": "environmentVars",
  11. "hidden": true,
  12. "cacheVariables": {
  13. "TWITCH_CLIENTID": {"type": "STRING", "value": "$penv{TWITCH_CLIENTID}"},
  14. "TWITCH_HASH": {"type": "STRING", "value": "$penv{TWITCH_HASH}"},
  15. "RESTREAM_CLIENTID": {"type": "STRING", "value": "$penv{RESTREAM_CLIENTID}"},
  16. "RESTREAM_HASH": {"type": "STRING", "value": "$penv{RESTREAM_HASH}"},
  17. "YOUTUBE_CLIENTID": {"type": "STRING", "value": "$penv{YOUTUBE_CLIENTID}"},
  18. "YOUTUBE_CLIENTID_HASH": {"type": "STRING", "value": "$penv{YOUTUBE_CLIENTID_HASH}"},
  19. "YOUTUBE_SECRET": {"type": "STRING", "value": "$penv{YOUTUBE_SECRET}"},
  20. "YOUTUBE_SECRET_HASH": {"type": "STRING", "value": "$penv{YOUTUBE_SECRET_HASH}"}
  21. }
  22. },
  23. {
  24. "name": "macos",
  25. "displayName": "macOS",
  26. "description": "Default macOS build (single architecture only)",
  27. "inherits": ["environmentVars"],
  28. "condition": {
  29. "type": "equals",
  30. "lhs": "${hostSystemName}",
  31. "rhs": "Darwin"
  32. },
  33. "generator": "Xcode",
  34. "binaryDir": "${sourceDir}/build_macos",
  35. "cacheVariables": {
  36. "ENABLE_BROWSER": true,
  37. "CMAKE_OSX_DEPLOYMENT_TARGET": {"type": "STRING", "value": "11.0"},
  38. "OBS_CODESIGN_TEAM": {"type": "STRING", "value": "$penv{CODESIGN_TEAM}"},
  39. "OBS_CODESIGN_IDENTITY": {"type": "STRING", "value": "$penv{CODESIGN_IDENT}"},
  40. "OBS_PROVISIONING_PROFILE": {"type": "STRING", "value": "$penv{PROVISIONING_PROFILE}"},
  41. "VIRTUALCAM_DEVICE_UUID": {"type": "STRING", "value": "7626645E-4425-469E-9D8B-97E0FA59AC75"},
  42. "VIRTUALCAM_SOURCE_UUID": {"type": "STRING", "value": "A8D7B8AA-65AD-4D21-9C42-66480DBFA8E1"},
  43. "VIRTUALCAM_SINK_UUID": {"type": "STRING", "value": "A3F16177-7044-4DD8-B900-72E2419F7A9A"},
  44. "SPARKLE_APPCAST_URL": {"type": "STRING", "value": "https://obsproject.com/osx_update/updates_$(ARCHS)_v2.xml"},
  45. "SPARKLE_PUBLIC_KEY": {"type": "STRING", "value": "HQ5/Ba9VHOuEWaM0jtVjZzgHKFJX9YTl+HNVpgNF0iM="}
  46. }
  47. },
  48. {
  49. "name": "macos-ci",
  50. "displayName": "macOS (CI)",
  51. "description": "CI macOS build (single architecture only)",
  52. "inherits": ["macos"],
  53. "warnings": {"dev": true, "deprecated": true},
  54. "cacheVariables": {
  55. "CMAKE_COMPILE_WARNING_AS_ERROR": true
  56. }
  57. },
  58. {
  59. "name": "linux-aarch64",
  60. "displayName": "Linux aarch64",
  61. "description": "obs-studio for Linux (aarch64)",
  62. "inherits": ["environmentVars"],
  63. "condition": {
  64. "type": "equals",
  65. "lhs": "${hostSystemName}",
  66. "rhs": "Linux"
  67. },
  68. "binaryDir": "${sourceDir}/build_aarch64",
  69. "generator": "Ninja",
  70. "warnings": {"dev": true, "deprecated": true},
  71. "cacheVariables": {
  72. "ENABLE_WAYLAND": true,
  73. "ENABLE_VLC": true,
  74. "CMAKE_BUILD_TYPE": "Debug"
  75. }
  76. },
  77. {
  78. "name": "linux-ci-aarch64",
  79. "inherits": ["linux-aarch64"],
  80. "hidden": true,
  81. "cacheVariables": {
  82. "CMAKE_BUILD_TYPE": "RelWithDebInfo"
  83. }
  84. },
  85. {
  86. "name": "linux-release-aarch64",
  87. "displayName": "Linux aarch64 (Release)",
  88. "description": "obs-studio for Linux (aarch64) - Release Configuration",
  89. "inherits": "linux-aarch64",
  90. "cacheVariables": {
  91. "ENABLE_RELEASE_BUILD": true
  92. }
  93. },
  94. {
  95. "name": "linux-x86_64",
  96. "displayName": "Linux x86_64",
  97. "description": "obs-studio for Linux (x86_64)",
  98. "inherits": ["environmentVars"],
  99. "condition": {
  100. "type": "equals",
  101. "lhs": "${hostSystemName}",
  102. "rhs": "Linux"
  103. },
  104. "binaryDir": "${sourceDir}/build_x86_64",
  105. "generator": "Ninja",
  106. "warnings": {"dev": true, "deprecated": true},
  107. "cacheVariables": {
  108. "ENABLE_WAYLAND": true,
  109. "ENABLE_VLC": true,
  110. "CMAKE_BUILD_TYPE": {"type": "STRING", "value": "Debug"}
  111. }
  112. },
  113. {
  114. "name": "linux-ci-x86_64",
  115. "inherits": ["linux-x86_64"],
  116. "cacheVariables": {
  117. "CMAKE_BUILD_TYPE": "RelWithDebInfo"
  118. }
  119. },
  120. {
  121. "name": "linux-release-x86_64",
  122. "displayName": "Linux x86_64 (Release)",
  123. "description": "obs-studio for Linux (x86_64) - Release Configuration",
  124. "inherits": "linux-x86_64",
  125. "cacheVariables": {
  126. "ENABLE_RELEASE_BUILD": true,
  127. "ENABLE_BROWSER": true
  128. }
  129. },
  130. {
  131. "name": "windows-x64",
  132. "displayName": "Windows x64",
  133. "description": "Default Windows build (x64)",
  134. "inherits": ["environmentVars"],
  135. "condition": {
  136. "type": "equals",
  137. "lhs": "${hostSystemName}",
  138. "rhs": "Windows"
  139. },
  140. "architecture": "x64",
  141. "binaryDir": "${sourceDir}/build_x64",
  142. "generator": "Visual Studio 17 2022",
  143. "cacheVariables": {
  144. "OBS_CMAKE_VERSION": {"type": "STRING", "value": "3.0.0"},
  145. "ENABLE_BROWSER": true,
  146. "VIRTUALCAM_GUID": {"type": "STRING", "value": "A3FCE0F5-3493-419F-958A-ABA1250EC20B"},
  147. "GPU_PRIORITY_VAL": {"type": "STRING", "value": "$penv{GPU_PRIORITY_VAL}"},
  148. "ENABLE_CCACHE": false
  149. }
  150. },
  151. {
  152. "name": "windows-ci-x64",
  153. "displayName": "Windows x64 (CI)",
  154. "description": "CI Windows build (x64)",
  155. "inherits": ["windows-x64"],
  156. "warnings": {"dev": true, "deprecated": true},
  157. "cacheVariables": {
  158. "CMAKE_COMPILE_WARNING_AS_ERROR": true,
  159. "ENABLE_CCACHE": false
  160. }
  161. }
  162. ],
  163. "buildPresets": [
  164. {
  165. "name": "linux-aarch64",
  166. "configurePreset": "linux-aarch64",
  167. "displayName": "Linux aarch64",
  168. "description": "Linux build for aarch64 (aka arm64)",
  169. "configuration": "RelWithDebInfo"
  170. },
  171. {
  172. "name": "linux-x86_64",
  173. "configurePreset": "linux-x86_64",
  174. "displayName": "Linux x86_64",
  175. "description": "Linux build for x86_64 (aka amd64)",
  176. "configuration": "RelWithDebInfo"
  177. },
  178. {
  179. "name": "windows-x64",
  180. "configurePreset": "windows-x64",
  181. "displayName": "Windows 64-bit",
  182. "description": "Windows build for 64-bit (aka x64)",
  183. "configuration": "RelWithDebInfo"
  184. }
  185. ]
  186. }