forked from node-usb/node-usb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
binding.gyp
124 lines (124 loc) · 3.11 KB
/
binding.gyp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
{
'variables': {
'use_udev%': 1,
'use_system_libusb%': 'false'
},
'targets': [
{
'target_name': 'usb_bindings',
'cflags!': [
'-fno-exceptions'
],
'cflags_cc!': [
'-fno-exceptions'
],
'xcode_settings': {
'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
'CLANG_CXX_LIBRARY': 'libc++',
'MACOSX_DEPLOYMENT_TARGET': '10.7'
},
'msvs_settings': {
'VCCLCompilerTool': {
'ExceptionHandling': 1
}
},
'sources': [
'src/node_usb.cc',
'src/device.cc',
'src/transfer.cc',
'src/thread_name.cc'
],
'cflags_cc': [
'-std=c++14'
],
'defines': [
'_FILE_OFFSET_BITS=64',
'_LARGEFILE_SOURCE',
'NAPI_VERSION=6'
],
'include_dirs+': [
'src/',
"<!@(node -p \"require('node-addon-api').include\")"
],
'conditions' : [
['use_system_libusb=="false" and OS!="freebsd"', {
'dependencies': [
'libusb.gypi:libusb',
]
}],
['use_system_libusb=="true" or OS=="freebsd"', {
'include_dirs+': [
'<!@(pkg-config libusb-1.0 --cflags-only-I | sed s/-I//g)'
],
'libraries': [
'<!@(pkg-config libusb-1.0 --libs)'
]
}],
['OS=="mac"', {
'xcode_settings': {
'OTHER_CFLAGS': [
'-std=c++1y',
'-stdlib=libc++',
'-arch x86_64',
'-arch arm64'
],
'OTHER_LDFLAGS': [
'-framework', 'CoreFoundation',
'-framework', 'IOKit',
'-arch x86_64',
'-arch arm64'
],
'SDKROOT': 'macosx',
'MACOSX_DEPLOYMENT_TARGET': '10.7'
}
}],
['OS!="win"', {
'sources': [
'src/hotplug/libusb.cc'
],
}],
['OS=="win"', {
'sources': [
'src/hotplug/windows.cc'
],
'defines':[
'WIN32_LEAN_AND_MEAN'
],
'libraries': [
'cfgmgr32.lib'
],
'default_configuration': 'Debug',
'configurations': {
'Debug': {
'defines': [
'DEBUG',
'_DEBUG'
],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 1, # static debug
}
}
},
'Release': {
'defines': [
'NDEBUG'
],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 0, # static release
}
}
}
},
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': [ '/EHsc' ]
}
}
}
]
]
}
]
}