binding.gyp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. {
  2. "targets": [
  3. {
  4. "target_name": "watcher",
  5. "defines": [ "NAPI_DISABLE_CPP_EXCEPTIONS" ],
  6. "sources": [ "src/binding.cc", "src/Watcher.cc", "src/Backend.cc", "src/DirTree.cc", "src/Glob.cc", "src/Debounce.cc" ],
  7. "include_dirs" : ["<!(node -p \"require('node-addon-api').include_dir\")"],
  8. 'cflags!': [ '-fno-exceptions', '-std=c++17' ],
  9. 'cflags_cc!': [ '-fno-exceptions', '-std=c++17' ],
  10. 'cflags': [ '-fstack-protector-strong' ],
  11. "conditions": [
  12. ['OS=="mac"', {
  13. "sources": [
  14. "src/watchman/BSER.cc",
  15. "src/watchman/WatchmanBackend.cc",
  16. "src/shared/BruteForceBackend.cc",
  17. "src/unix/fts.cc",
  18. "src/macos/FSEventsBackend.cc",
  19. "src/kqueue/KqueueBackend.cc"
  20. ],
  21. "link_settings": {
  22. "libraries": ["CoreServices.framework"]
  23. },
  24. "defines": [
  25. "WATCHMAN",
  26. "BRUTE_FORCE",
  27. "FS_EVENTS",
  28. "KQUEUE"
  29. ],
  30. "xcode_settings": {
  31. "GCC_ENABLE_CPP_EXCEPTIONS": "YES"
  32. }
  33. }],
  34. ['OS=="mac" and target_arch=="arm64"', {
  35. "xcode_settings": {
  36. "ARCHS": ["arm64"]
  37. }
  38. }],
  39. ['OS=="linux" or OS=="android"', {
  40. "sources": [
  41. "src/watchman/BSER.cc",
  42. "src/watchman/WatchmanBackend.cc",
  43. "src/shared/BruteForceBackend.cc",
  44. "src/linux/InotifyBackend.cc",
  45. "src/unix/legacy.cc"
  46. ],
  47. "defines": [
  48. "WATCHMAN",
  49. "INOTIFY",
  50. "BRUTE_FORCE"
  51. ]
  52. }],
  53. ['OS=="win"', {
  54. "sources": [
  55. "src/watchman/BSER.cc",
  56. "src/watchman/WatchmanBackend.cc",
  57. "src/shared/BruteForceBackend.cc",
  58. "src/windows/WindowsBackend.cc",
  59. "src/windows/win_utils.cc"
  60. ],
  61. "defines": [
  62. "WATCHMAN",
  63. "WINDOWS",
  64. "BRUTE_FORCE"
  65. ],
  66. "msvs_settings": {
  67. "VCCLCompilerTool": {
  68. "ExceptionHandling": 1, # /EHsc
  69. "AdditionalOptions": [
  70. "-std:c++17",
  71. "/guard:cf",
  72. "/W3",
  73. "/we4146",
  74. "/w34244",
  75. "/we4267",
  76. "/sdl",
  77. "/ZH:SHA_256"
  78. ]
  79. },
  80. "VCLinkerTool": {
  81. "AdditionalOptions": [
  82. "/DYNAMICBASE",
  83. "/guard:cf"
  84. ]
  85. }
  86. }
  87. }],
  88. ['OS=="freebsd"', {
  89. "sources": [
  90. "src/watchman/BSER.cc",
  91. "src/watchman/WatchmanBackend.cc",
  92. "src/shared/BruteForceBackend.cc",
  93. "src/unix/fts.cc",
  94. "src/kqueue/KqueueBackend.cc"
  95. ],
  96. "defines": [
  97. "WATCHMAN",
  98. "BRUTE_FORCE",
  99. "KQUEUE"
  100. ]
  101. }]
  102. ]
  103. }
  104. ],
  105. "variables": {
  106. "openssl_fips": "",
  107. "node_use_dtrace": "false"
  108. }
  109. }