CMakePresets.json 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. {
  2. "version": 6,
  3. "cmakeMinimumRequired": {
  4. "major": 3,
  5. "minor": 22,
  6. "patch": 0
  7. },
  8. "configurePresets": [
  9. {
  10. "name": "base",
  11. "hidden": true,
  12. "generator": "Ninja",
  13. "binaryDir": "${sourceDir}/build/${presetName}",
  14. "cacheVariables": {
  15. "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
  16. }
  17. },
  18. {
  19. "name": "debug",
  20. "displayName": "Debug",
  21. "description": "Debug build with full debugging information",
  22. "inherits": "base",
  23. "cacheVariables": {
  24. "CMAKE_BUILD_TYPE": "Debug",
  25. "BUILD_TESTING": "ON",
  26. "ENABLE_SANITIZERS": "ON"
  27. }
  28. },
  29. {
  30. "name": "release",
  31. "displayName": "Release",
  32. "description": "Optimized release build",
  33. "inherits": "base",
  34. "cacheVariables": {
  35. "CMAKE_BUILD_TYPE": "Release",
  36. "BUILD_TESTING": "OFF",
  37. "ENABLE_SANITIZERS": "OFF"
  38. }
  39. },
  40. {
  41. "name": "relwithdebinfo",
  42. "displayName": "Release with Debug Info",
  43. "description": "Optimized build with debug symbols",
  44. "inherits": "base",
  45. "cacheVariables": {
  46. "CMAKE_BUILD_TYPE": "RelWithDebInfo",
  47. "BUILD_TESTING": "ON",
  48. "ENABLE_SANITIZERS": "OFF"
  49. }
  50. }
  51. ],
  52. "buildPresets": [
  53. {
  54. "name": "debug",
  55. "displayName": "Debug Build",
  56. "configurePreset": "debug"
  57. },
  58. {
  59. "name": "release",
  60. "displayName": "Release Build",
  61. "configurePreset": "release"
  62. },
  63. {
  64. "name": "relwithdebinfo",
  65. "displayName": "RelWithDebInfo Build",
  66. "configurePreset": "relwithdebinfo"
  67. }
  68. ]
  69. }