Skip to content

Commit 7d5be24

Browse files
committed
Merge pull request #88 from gicmo/build_fixes
Various build fixes for boost 1.58.0/MATLAB 2014{a,b}
2 parents f3b75d6 + 734101d commit 7d5be24

File tree

5 files changed

+20
-22
lines changed

5 files changed

+20
-22
lines changed

cmake/FindMATLAB.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ ELSE(WIN32)
126126
IF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL ""))
127127

128128
# Search for a version of Matlab available, starting from the most modern one to older versions
129-
FOREACH(MATVER "R2013b" "R2013a" "R2012b" "R2012a" "R2011b" "R2011a" "R2010b" "R2010a" "R2009b" "R2009a" "R2008b")
129+
FOREACH(MATVER "R2014b" "R2014a" "R2013b" "R2013a" "R2012b" "R2012a" "R2011b" "R2011a" "R2010b" "R2010a" "R2009b" "R2009a" "R2008b")
130130
SET(MATLAB_VERSION ${MATVER})
131131
IF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL ""))
132132
IF(EXISTS /Applications/MATLAB_${MATVER}.app)
@@ -194,4 +194,4 @@ MARK_AS_ADVANCED(
194194
MATLAB_MEXEXT
195195
MATLAB_FOUND
196196
MATLAB_ROOT
197-
)
197+
)

src/utils/arguments.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,6 @@ class extractor : public argument_helper<const mxArray> {
6969
return mx_to_vector<T>(array[pos]);
7070
}
7171

72-
template<>
73-
std::vector<std::string> vec(size_t pos) const {
74-
return mx_to_strings(array[pos]);
75-
}
76-
7772
std::vector<nix::Value> vec(size_t pos) const {
7873
return mx_to_values(array[pos]);
7974
}
@@ -122,6 +117,11 @@ class extractor : public argument_helper<const mxArray> {
122117
private:
123118
};
124119

120+
template<>
121+
inline std::vector<std::string> extractor::vec(size_t pos) const {
122+
return mx_to_strings(array[pos]);
123+
}
124+
125125

126126
class infusor : public argument_helper<mxArray> {
127127
public:

src/utils/glue.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ struct ex_getter < std::string > {
4040
template<>
4141
struct ex_getter < boost::none_t > {
4242
static boost::none_t get(const extractor &input, int pos) {
43-
boost::none_t t = nullptr;
44-
return t;
43+
return boost::none;
4544
}
4645
};
4746

src/utils/mkarray.h

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,6 @@ inline mxArray* make_mx_array(const std::vector<nix::Value> &v) {
7272
return data;
7373
}
7474

75-
76-
template<typename T>
77-
mxArray* make_mx_array(const boost::optional<T> &opt) {
78-
if (opt) {
79-
return make_mx_array(*opt);
80-
}
81-
else {
82-
return nullptr;
83-
}
84-
}
85-
8675
template<typename T>
8776
typename std::enable_if<std::is_arithmetic<T>::value, mxArray>::type* make_mx_array(T val) {
8877
DType2 dtype = dtype_nix2mex(nix::to_data_type<T>::value);
@@ -156,5 +145,15 @@ inline mxArray* make_mx_array(const std::vector<nix::Dimension> &dims) {
156145
return data;
157146
}
158147

148+
template<typename T>
149+
mxArray* make_mx_array(const boost::optional<T> &opt) {
150+
if (opt) {
151+
return make_mx_array(*opt);
152+
}
153+
else {
154+
return nullptr;
155+
}
156+
}
157+
159158

160159
#endif

src/utils/mknix.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ nix::Value mx_to_value_from_struct(const mxArray *arr) {
152152
case 3: val.encoder = mx_to_str(field_array_ptr); break;
153153
case 4: val.filename = mx_to_str(field_array_ptr); break;
154154
case 5: val.reference = mx_to_str(field_array_ptr); break;
155-
default: throw std::invalid_argument(strcat("Field is not supported: ", field_name));
155+
default: throw std::invalid_argument(std::string("Field is not supported: ") + std::string(field_name));
156156
}
157157
}
158158

@@ -188,4 +188,4 @@ std::vector<nix::Value> mx_to_values(const mxArray *arr) {
188188
}
189189

190190
return vals;
191-
}
191+
}

0 commit comments

Comments
 (0)