Fix issue with different versions of opencv installed in different OSs, updated cflags opencv version in bindings.gyp

This commit is contained in:
edgarsilva 2015-02-04 11:22:09 -06:00
parent 094d91eece
commit 4bc20cda6f

View File

@ -1,61 +1,67 @@
{ {
"targets": [{ "targets": [{
"target_name": "opencv" "target_name": "opencv",
, "sources": [ "sources": [
"src/init.cc" "src/init.cc",
, "src/Matrix.cc" "src/Matrix.cc",
, "src/OpenCV.cc" "src/OpenCV.cc",
, "src/CascadeClassifierWrap.cc" "src/CascadeClassifierWrap.cc",
, "src/Contours.cc" "src/Contours.cc",
, "src/Point.cc" "src/Point.cc",
, "src/VideoCaptureWrap.cc" "src/VideoCaptureWrap.cc",
, "src/CamShift.cc" "src/CamShift.cc",
, "src/HighGUI.cc" "src/HighGUI.cc",
, "src/FaceRecognizer.cc" "src/FaceRecognizer.cc",
, "src/BackgroundSubtractor.cc" "src/BackgroundSubtractor.cc",
, "src/Constants.cc" "src/Constants.cc"
] ],
, 'libraries': [
'<!@(pkg-config --libs opencv)' "libraries": [
] "<!@(pkg-config --libs opencv)"
],
# For windows # For windows
,'include_dirs': [
'<!@(pkg-config --cflags opencv)',
"<!(node -e \"require('nan')\")"
]
, 'cflags': [ "include_dirs": [
'<!@(pkg-config --cflags "opencv >= 2.4.9" )' "<!@(pkg-config --cflags opencv)",
, '-Wall' "<!(node -e \"require('nan')\")"
]
, 'cflags!' : [ '-fno-exceptions']
, 'cflags_cc!': [ '-fno-rtti', '-fno-exceptions']
, "conditions": [
['OS=="win"',
{
'msvs_settings': {
'VCCLCompilerTool': {
'ExceptionHandling': '2',
'DisableSpecificWarnings': [ '4530', '4506', '4244' ],
},
},
},
], ],
['OS=="mac"', {
# cflags on OS X are stupid and have to be defined like this "cflags!" : [ "-fno-exceptions"],
'xcode_settings': { "cflags_cc!": [ "-fno-rtti", "-fno-exceptions"],
'OTHER_CFLAGS': [
"conditions": [
[ "OS==\"linux\"", {
"cflags": [
"<!@(pkg-config --cflags \"opencv >= 2.3.1\" )",
"-Wall"
]
}],
[ "OS==\"win\"", {
"cflags": [
"<!@(pkg-config --cflags \"opencv >= 2.4.9\" )",
"-Wall"
],
"msvs_settings": {
"VCCLCompilerTool": {
"ExceptionHandling": "2",
"DisableSpecificWarnings": [ "4530", "4506", "4244" ],
},
}
}],
[ # cflags on OS X are stupid and have to be defined like this
"OS==\"mac\"", {
"xcode_settings": {
"OTHER_CFLAGS": [
"-mmacosx-version-min=10.7", "-mmacosx-version-min=10.7",
"-std=c++11", "-std=c++11",
"-stdlib=libc++", "-stdlib=libc++",
'<!@(pkg-config --cflags opencv)' "<!@(pkg-config --cflags opencv)"
] ],
, "GCC_ENABLE_CPP_RTTI": "YES" "GCC_ENABLE_CPP_RTTI": "YES",
, "GCC_ENABLE_CPP_EXCEPTIONS": "YES" "GCC_ENABLE_CPP_EXCEPTIONS": "YES"
} }
}] }]
] ]
}, },
{ {