ropencv 0.0.30 → 0.0.31
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/helper.rb +7 -27
- data/ext/rbind.rb +2 -1
- data/ext/src/CMakeLists.txt +3 -7
- data/ropencv.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3073df080a121954576e8a096fc5a4bfe2684363a2f6554641af8a76da7aa840
|
4
|
+
data.tar.gz: fbf9cd96f2b98d720ecc70b9d9607ae7e91c5abb2ca176243afc28ac4e93e459
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa4b09d8430c6d04fdc92add7669a68b9e9715b282ae89473db297b4b43b941a6cf3dbe5627c097e6922be18574fd84c13c71321f30d93b75f6fb51570ac405d
|
7
|
+
data.tar.gz: 34c09dca2cd49806d72d75bb34711a3d29373258855bce7c0dd18c7c317ade9fe3663429133627912922dca14e806fdb399ce5ead5c0966baa622c80b486c454
|
data/ext/helper.rb
CHANGED
@@ -92,26 +92,15 @@ class Vec < Rbind::RClass
|
|
92
92
|
end
|
93
93
|
|
94
94
|
# find opencv version and headers needed to be parsed by rbind
|
95
|
-
def find_opencv
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
out = IO.popen("pkg-config --cflags-only-I #{p}")
|
102
|
-
paths = out.read.split("-I").delete_if(&:empty?).map do |i|
|
103
|
-
i.gsub("\n","").gsub(" ","")
|
104
|
-
end
|
105
|
-
if !paths.empty?
|
106
|
-
pkg = p
|
107
|
-
break
|
108
|
-
end
|
95
|
+
def find_opencv(hint)
|
96
|
+
hint =~ /\[(.*)\]\[v(.*)\(\)\]/
|
97
|
+
paths = [$1]
|
98
|
+
opencv_version = $2
|
99
|
+
if !opencv_version || !paths
|
100
|
+
raise "hint #{hint} is not encoding opencv loaction and version. It must have the format [PATH][vMAJOR.MINRO.REVISION()]"
|
109
101
|
end
|
110
|
-
|
102
|
+
paths << File.join(paths.first,"include")
|
111
103
|
|
112
|
-
#check opencv version
|
113
|
-
out = IO.popen("pkg-config --modversion #{pkg}")
|
114
|
-
opencv_version = out.read.chomp;
|
115
104
|
opencv_version =~ /(\d+).(\d+).(\d+)/
|
116
105
|
major = $1.to_i; minor = $2.to_i; revision = $3.to_i
|
117
106
|
|
@@ -154,15 +143,6 @@ def find_opencv
|
|
154
143
|
raise "OpenCV version #{opencv_version} is currently not supported"
|
155
144
|
end
|
156
145
|
|
157
|
-
temp = paths.clone
|
158
|
-
temp.each do |path|
|
159
|
-
if path =~ /(.*)opencv$/
|
160
|
-
paths << $1
|
161
|
-
elsif path =~ /(.*)opencv2$/
|
162
|
-
paths << $1
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
146
|
# check that all headers are available
|
167
147
|
headers = headers.map do |i|
|
168
148
|
path = paths.find do |p|
|
data/ext/rbind.rb
CHANGED
@@ -3,7 +3,8 @@ require 'pp'
|
|
3
3
|
require 'yaml'
|
4
4
|
|
5
5
|
require File.join(File.dirname(__FILE__),'helper.rb')
|
6
|
-
|
6
|
+
|
7
|
+
major,minor,revision,opencv_headers = find_opencv(ARGV[0])
|
7
8
|
opencv_version = "#{major}.#{minor}.#{revision}"
|
8
9
|
Rbind.log.warn "found opencv #{opencv_version}"
|
9
10
|
|
data/ext/src/CMakeLists.txt
CHANGED
@@ -5,11 +5,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
5
5
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
6
6
|
|
7
7
|
include(FindPkgConfig)
|
8
|
-
|
9
|
-
add_definitions(${OPENCV_CFLAGS})
|
8
|
+
find_package(OpenCV REQUIRED)
|
10
9
|
include_directories(${OPENCV_INCLUDE_DIRS})
|
11
|
-
link_directories(${OPENCV_LIBRARY_DIRS})
|
12
|
-
|
13
10
|
|
14
11
|
# use, i.e. don't skip the full RPATH for the build tree
|
15
12
|
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
|
@@ -42,10 +39,9 @@ SET(RBIND_SRC
|
|
42
39
|
"${CMAKE_CURRENT_SOURCE_DIR}/conversions.cc")
|
43
40
|
|
44
41
|
add_custom_command(OUTPUT ${RBIND_SRC}
|
45
|
-
|
46
|
-
|
42
|
+
COMMAND ruby "${CMAKE_CURRENT_SOURCE_DIR}/../rbind.rb" ARGS "\"${FIND_PACKAGE_MESSAGE_DETAILS_OpenCV}\"")
|
47
43
|
ADD_LIBRARY(rbind_opencv SHARED ${RBIND_SRC})
|
48
|
-
TARGET_LINK_LIBRARIES(rbind_opencv ${
|
44
|
+
TARGET_LINK_LIBRARIES(rbind_opencv ${OpenCV_LIBS})
|
49
45
|
|
50
46
|
set(ROOT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
51
47
|
install(TARGETS rbind_opencv LIBRARY DESTINATION ${ROOT_FOLDER}/lib/ropencv)
|
data/ropencv.gemspec
CHANGED