CMakePresets.json 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. {
  2. "version": 4,
  3. "cmakeMinimumRequired": {
  4. "major": 3,
  5. "minor": 23,
  6. "patch": 0
  7. },
  8. "configurePresets": [
  9. {
  10. "name": "default",
  11. "description": "Placeholder configuration that buildPresets and testPresets can inherit from",
  12. "hidden": true
  13. },
  14. {
  15. "name": "debug",
  16. "description": "Specifies build type for single-configuration generators: debug",
  17. "hidden": true,
  18. "cacheVariables": {
  19. "CMAKE_BUILD_TYPE": {
  20. "type": "STRING",
  21. "value": "debug"
  22. }
  23. }
  24. },
  25. {
  26. "name": "release",
  27. "description": "Specifies build type for single-configuration generators: release",
  28. "hidden": true,
  29. "cacheVariables": {
  30. "CMAKE_BUILD_TYPE": {
  31. "type": "STRING",
  32. "value": "release"
  33. }
  34. }
  35. },
  36. {
  37. "name": "profile",
  38. "description": "Specifies build type for single-configuration generators: profile",
  39. "hidden": true,
  40. "cacheVariables": {
  41. "CMAKE_BUILD_TYPE": {
  42. "type": "STRING",
  43. "value": "profile"
  44. }
  45. }
  46. },
  47. {
  48. "name": "compile-commands-json",
  49. "description": "Generate compile_commands.json file when used with a Makefile or Ninja Generator",
  50. "hidden": true,
  51. "cacheVariables": {
  52. "CMAKE_EXPORT_COMPILE_COMMANDS": {
  53. "type": "BOOL",
  54. "value": "ON"
  55. }
  56. }
  57. },
  58. {
  59. "name": "no-unity",
  60. "description": "unity: off",
  61. "hidden": true,
  62. "cacheVariables": {
  63. "LY_UNITY_BUILD": {
  64. "type": "BOOL",
  65. "value": "OFF"
  66. }
  67. }
  68. },
  69. {
  70. "name": "unity",
  71. "description": "unity: on",
  72. "hidden": true,
  73. "cacheVariables": {
  74. "LY_UNITY_BUILD": {
  75. "type": "BOOL",
  76. "value": "ON"
  77. }
  78. }
  79. },
  80. {
  81. "name": "non-monolithic",
  82. "description": "non-monolithic permutation(Default)",
  83. "hidden": true,
  84. "cacheVariables": {
  85. "LY_MONOLITHIC_GAME": {
  86. "type": "BOOL",
  87. "value": "OFF"
  88. }
  89. }
  90. },
  91. {
  92. "name": "monolithic",
  93. "description": "monolithic permutation(Monolithic)",
  94. "hidden": true,
  95. "cacheVariables": {
  96. "LY_MONOLITHIC_GAME": {
  97. "type": "BOOL",
  98. "value": "ON"
  99. }
  100. }
  101. },
  102. {
  103. "name": "makefiles",
  104. "displayName": "Unix Makefiles",
  105. "description": "Configure using Unix Makefile generator",
  106. "generator": "Unix Makefiles",
  107. "hidden": true,
  108. "inherits":[
  109. "compile-commands-json"
  110. ]
  111. },
  112. {
  113. "name": "ninja-multi-config",
  114. "displayName": "Ninja Multi-Config",
  115. "description": "Configure using Ninja Multi-Config generator",
  116. "hidden": true,
  117. "generator": "Ninja Multi-Config",
  118. "inherits":[
  119. "compile-commands-json"
  120. ]
  121. },
  122. {
  123. "name": "vs2022",
  124. "displayName": "Visual Studio 2022",
  125. "description": "Configure using VS2022 generator",
  126. "generator": "Visual Studio 17 2022",
  127. "hidden": true,
  128. "inherits": [
  129. "host-windows"
  130. ]
  131. },
  132. {
  133. "name": "vs2019",
  134. "displayName": "Visual Studio 2019",
  135. "description": "Configure using VS2019 generator",
  136. "generator": "Visual Studio 16 2019",
  137. "hidden": true,
  138. "inherits": [
  139. "host-windows"
  140. ]
  141. },
  142. {
  143. "name": "xcode",
  144. "displayName": "Xcode",
  145. "description": "Configure using Xcode generator",
  146. "generator": "Xcode",
  147. "hidden": true,
  148. "inherits": [
  149. "host-mac"
  150. ]
  151. },
  152. {
  153. "name": "host-windows",
  154. "displayName": "Host OS - Windows",
  155. "description": "Specifies Windows host condition for configure preset",
  156. "hidden": true,
  157. "condition": {
  158. "type": "equals",
  159. "lhs": "${hostSystemName}",
  160. "rhs": "Windows"
  161. }
  162. },
  163. {
  164. "name": "host-linux",
  165. "displayName": "Host OS - Linux",
  166. "description": "Specifies Linux host condition for configure preset",
  167. "hidden": true,
  168. "condition": {
  169. "type": "equals",
  170. "lhs": "${hostSystemName}",
  171. "rhs": "Linux"
  172. }
  173. },
  174. {
  175. "name": "host-mac",
  176. "displayName": "Host OS - Mac",
  177. "description": "Specifies Mac host condition for configure preset",
  178. "hidden": true,
  179. "condition": {
  180. "type": "equals",
  181. "lhs": "${hostSystemName}",
  182. "rhs": "Darwin"
  183. }
  184. },
  185. {
  186. "name": "host-windows-linux-mac",
  187. "displayName": "Host OS - Any",
  188. "description": "Allows Windows, Linux or Mac to be used for host condition for configure preset",
  189. "hidden": true,
  190. "condition": {
  191. "type": "inList",
  192. "string": "${hostSystemName}",
  193. "list": [
  194. "Darwin",
  195. "Linux",
  196. "Windows"
  197. ]
  198. }
  199. }
  200. ],
  201. "buildPresets": [
  202. {
  203. "name": "debug",
  204. "description": "configuration: debug",
  205. "hidden": true,
  206. "configurePreset": "default",
  207. "configuration": "debug"
  208. },
  209. {
  210. "name": "release",
  211. "description": "configuration: release",
  212. "hidden": true,
  213. "configurePreset": "default",
  214. "configuration": "release"
  215. },
  216. {
  217. "name": "profile",
  218. "description": "configuration: profile",
  219. "hidden": true,
  220. "configurePreset": "default",
  221. "configuration": "profile"
  222. },
  223. {
  224. "name": "editor",
  225. "description": "target: editor",
  226. "hidden": true,
  227. "configurePreset": "default",
  228. "inherits": [ "profile"],
  229. "targets": "Editor"
  230. },
  231. {
  232. "name": "assetprocessor",
  233. "description": "target: asset processor",
  234. "hidden": true,
  235. "configurePreset": "default",
  236. "inherits": [ "profile"],
  237. "targets": "AssetProcessor"
  238. },
  239. {
  240. "name": "install",
  241. "description": "Builds the dependencies install(Ninja, Make, etc...) or INSTALL(Visual Studio, Xcode) target. Afterwards run the CMake install step to install the build dependencies",
  242. "hidden": true,
  243. "configurePreset": "default",
  244. "inherits": [ "profile"],
  245. "targets": "install"
  246. },
  247. {
  248. "name": "test-default",
  249. "description": "Builds the smoke and main test suite dependencies",
  250. "hidden": true,
  251. "configurePreset": "default",
  252. "inherits": [ "profile"],
  253. "targets": ["TEST_SUITE_main", "TEST_SUITE_smoke"]
  254. },
  255. {
  256. "name": "host-windows",
  257. "displayName": "Host OS - Windows",
  258. "description": "Specifies Windows host condition for build preset",
  259. "hidden": true,
  260. "configurePreset": "default",
  261. "condition": {
  262. "type": "equals",
  263. "lhs": "${hostSystemName}",
  264. "rhs": "Windows"
  265. }
  266. },
  267. {
  268. "name": "host-linux",
  269. "displayName": "Host OS - Linux",
  270. "description": "Specifies Linux host condition for build preset",
  271. "hidden": true,
  272. "configurePreset": "default",
  273. "condition": {
  274. "type": "equals",
  275. "lhs": "${hostSystemName}",
  276. "rhs": "Linux"
  277. }
  278. },
  279. {
  280. "name": "host-mac",
  281. "displayName": "Host OS - Mac",
  282. "description": "Specifies Mac host condition for build preset",
  283. "hidden": true,
  284. "configurePreset": "default",
  285. "condition": {
  286. "type": "equals",
  287. "lhs": "${hostSystemName}",
  288. "rhs": "Darwin"
  289. }
  290. },
  291. {
  292. "name": "host-windows-linux-mac",
  293. "displayName": "Host OS - Any",
  294. "description": "Allows Windows, Linux or Mac to be used for host condition for build preset",
  295. "hidden": true,
  296. "configurePreset": "default",
  297. "condition": {
  298. "type": "inList",
  299. "string": "${hostSystemName}",
  300. "list": [
  301. "Darwin",
  302. "Linux",
  303. "Windows"
  304. ]
  305. }
  306. }
  307. ],
  308. "testPresets": [
  309. {
  310. "name": "test-default",
  311. "description": "CTest preset which runs the smoke and main test suites",
  312. "hidden": true,
  313. "configurePreset": "default",
  314. "output": {
  315. "outputOnFailure": true,
  316. "outputLogFile": "Ctest-${presetName}.log"
  317. },
  318. "execution": {
  319. "noTestsAction": "error"
  320. },
  321. "filter": {
  322. "include": {
  323. "label": "(SUITE_smoke|SUITE_main)"
  324. },
  325. "exclude": {
  326. "label": "(REQUIRES_gpu)"
  327. }
  328. }
  329. },
  330. {
  331. "name": "test-default-debug",
  332. "description": "Runs the smoke and main test suites using the debug configuration",
  333. "hidden": true,
  334. "configurePreset": "default",
  335. "inherits": ["test-default"],
  336. "configuration": "debug",
  337. "output": {
  338. "outputLogFile": "Ctest-${presetName}-debug.log"
  339. }
  340. },
  341. {
  342. "name": "test-default-profile",
  343. "description": "Runs the smoke and main test suites using the profile configuration",
  344. "hidden": true,
  345. "configurePreset": "default",
  346. "inherits": ["test-default"],
  347. "configuration": "profile",
  348. "output": {
  349. "outputLogFile": "Ctest-${presetName}-profile.log"
  350. }
  351. },
  352. {
  353. "name": "host-windows",
  354. "displayName": "Host OS - Windows",
  355. "description": "Specifies Windows host condition for test preset",
  356. "hidden": true,
  357. "configurePreset": "default",
  358. "condition": {
  359. "type": "equals",
  360. "lhs": "${hostSystemName}",
  361. "rhs": "Windows"
  362. }
  363. },
  364. {
  365. "name": "host-linux",
  366. "displayName": "Host OS - Linux",
  367. "description": "Specifies Linux host condition for test preset",
  368. "hidden": true,
  369. "configurePreset": "default",
  370. "condition": {
  371. "type": "equals",
  372. "lhs": "${hostSystemName}",
  373. "rhs": "Linux"
  374. }
  375. },
  376. {
  377. "name": "host-mac",
  378. "displayName": "Host OS - Mac",
  379. "description": "Specifies Mac host condition for test preset",
  380. "hidden": true,
  381. "configurePreset": "default",
  382. "condition": {
  383. "type": "equals",
  384. "lhs": "${hostSystemName}",
  385. "rhs": "Darwin"
  386. }
  387. }
  388. ]
  389. }