binding.gyp 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. "conditions": [
  11. ['OS=="mac"', {
  12. "sources": [
  13. "src/watchman/BSER.cc",
  14. "src/watchman/WatchmanBackend.cc",
  15. "src/shared/BruteForceBackend.cc",
  16. "src/unix/fts.cc",
  17. "src/macos/FSEventsBackend.cc",
  18. "src/kqueue/KqueueBackend.cc"
  19. ],
  20. "link_settings": {
  21. "libraries": ["CoreServices.framework"]
  22. },
  23. "defines": [
  24. "WATCHMAN",
  25. "BRUTE_FORCE",
  26. "FS_EVENTS",
  27. "KQUEUE"
  28. ],
  29. "xcode_settings": {
  30. "GCC_ENABLE_CPP_EXCEPTIONS": "YES"
  31. }
  32. }],
  33. ['OS=="mac" and target_arch=="arm64"', {
  34. "xcode_settings": {
  35. "ARCHS": ["arm64"]
  36. }
  37. }],
  38. ['OS=="linux" or OS=="android"', {
  39. "sources": [
  40. "src/watchman/BSER.cc",
  41. "src/watchman/WatchmanBackend.cc",
  42. "src/shared/BruteForceBackend.cc",
  43. "src/linux/InotifyBackend.cc",
  44. "src/unix/legacy.cc"
  45. ],
  46. "defines": [
  47. "WATCHMAN",
  48. "INOTIFY",
  49. "BRUTE_FORCE"
  50. ]
  51. }],
  52. ['OS=="win"', {
  53. "sources": [
  54. "src/watchman/BSER.cc",
  55. "src/watchman/WatchmanBackend.cc",
  56. "src/shared/BruteForceBackend.cc",
  57. "src/windows/WindowsBackend.cc",
  58. "src/windows/win_utils.cc"
  59. ],
  60. "defines": [
  61. "WATCHMAN",
  62. "WINDOWS",
  63. "BRUTE_FORCE"
  64. ],
  65. "msvs_settings": {
  66. "VCCLCompilerTool": {
  67. "ExceptionHandling": 1, # /EHsc
  68. "AdditionalOptions": ['-std:c++17']
  69. }
  70. }
  71. }],
  72. ['OS=="freebsd"', {
  73. "sources": [
  74. "src/watchman/BSER.cc",
  75. "src/watchman/WatchmanBackend.cc",
  76. "src/shared/BruteForceBackend.cc",
  77. "src/unix/fts.cc",
  78. "src/kqueue/KqueueBackend.cc"
  79. ],
  80. "defines": [
  81. "WATCHMAN",
  82. "BRUTE_FORCE",
  83. "KQUEUE"
  84. ]
  85. }]
  86. ]
  87. }
  88. ],
  89. "variables": {
  90. "openssl_fips": "",
  91. "node_use_dtrace": "false"
  92. }
  93. }