CMakePresets.json 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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. "QT_VERSION": "6",
  75. "CMAKE_BUILD_TYPE": "Debug"
  76. }
  77. },
  78. {
  79. "name": "linux-ci-aarch64",
  80. "inherits": ["linux-aarch64"],
  81. "hidden": true,
  82. "cacheVariables": {
  83. "CMAKE_BUILD_TYPE": "RelWithDebInfo"
  84. }
  85. },
  86. {
  87. "name": "linux-release-aarch64",
  88. "displayName": "Linux aarch64 (Release)",
  89. "description": "obs-studio for Linux (aarch64) - Release Configuration",
  90. "inherits": "linux-aarch64",
  91. "cacheVariables": {
  92. "ENABLE_RELEASE_BUILD": true
  93. }
  94. },
  95. {
  96. "name": "linux-x86_64",
  97. "displayName": "Linux x86_64",
  98. "description": "obs-studio for Linux (x86_64)",
  99. "inherits": ["environmentVars"],
  100. "condition": {
  101. "type": "equals",
  102. "lhs": "${hostSystemName}",
  103. "rhs": "Linux"
  104. },
  105. "binaryDir": "${sourceDir}/build_x86_64",
  106. "generator": "Ninja",
  107. "warnings": {"dev": true, "deprecated": true},
  108. "cacheVariables": {
  109. "ENABLE_WAYLAND": true,
  110. "ENABLE_VLC": true,
  111. "QT_VERSION": {"type": "STRING", "value": "6"},
  112. "CMAKE_BUILD_TYPE": {"type": "STRING", "value": "Debug"}
  113. }
  114. },
  115. {
  116. "name": "linux-ci-x86_64",
  117. "inherits": ["linux-x86_64"],
  118. "cacheVariables": {
  119. "CMAKE_BUILD_TYPE": "RelWithDebInfo"
  120. }
  121. },
  122. {
  123. "name": "linux-release-x86_64",
  124. "displayName": "Linux x86_64 (Release)",
  125. "description": "obs-studio for Linux (x86_64) - Release Configuration",
  126. "inherits": "linux-x86_64",
  127. "cacheVariables": {
  128. "ENABLE_RELEASE_BUILD": true,
  129. "ENABLE_BROWSER": true
  130. }
  131. },
  132. {
  133. "name": "windows-x64",
  134. "displayName": "Windows x64",
  135. "description": "Default Windows build (x64)",
  136. "inherits": ["environmentVars"],
  137. "condition": {
  138. "type": "equals",
  139. "lhs": "${hostSystemName}",
  140. "rhs": "Windows"
  141. },
  142. "architecture": "x64",
  143. "binaryDir": "${sourceDir}/build_x64",
  144. "generator": "Visual Studio 17 2022",
  145. "cacheVariables": {
  146. "OBS_CMAKE_VERSION": {"type": "STRING", "value": "3.0.0"},
  147. "ENABLE_BROWSER": true,
  148. "VIRTUALCAM_GUID": {"type": "STRING", "value": "A3FCE0F5-3493-419F-958A-ABA1250EC20B"},
  149. "GPU_PRIORITY_VAL": {"type": "STRING", "value": "$penv{GPU_PRIORITY_VAL}"},
  150. "ENABLE_CCACHE": false
  151. }
  152. },
  153. {
  154. "name": "windows-ci-x64",
  155. "displayName": "Windows x64 (CI)",
  156. "description": "CI Windows build (x64)",
  157. "inherits": ["windows-x64"],
  158. "warnings": {"dev": true, "deprecated": true},
  159. "cacheVariables": {
  160. "CMAKE_COMPILE_WARNING_AS_ERROR": true,
  161. "ENABLE_CCACHE": false
  162. }
  163. }
  164. ],
  165. "buildPresets": [
  166. {
  167. "name": "linux-aarch64",
  168. "configurePreset": "linux-aarch64",
  169. "displayName": "Linux aarch64",
  170. "description": "Linux build for aarch64 (aka arm64)",
  171. "configuration": "RelWithDebInfo"
  172. },
  173. {
  174. "name": "linux-x86_64",
  175. "configurePreset": "linux-x86_64",
  176. "displayName": "Linux x86_64",
  177. "description": "Linux build for x86_64 (aka amd64)",
  178. "configuration": "RelWithDebInfo"
  179. },
  180. {
  181. "name": "windows-x64",
  182. "configurePreset": "windows-x64",
  183. "displayName": "Windows 64-bit",
  184. "description": "Windows build for 64-bit (aka x64)",
  185. "configuration": "RelWithDebInfo"
  186. }
  187. ]
  188. }