diff --git a/wrap/tests/expected/Makefile b/wrap/tests/expected/Makefile index 0797d0dd3..57a606790 100644 --- a/wrap/tests/expected/Makefile +++ b/wrap/tests/expected/Makefile @@ -2,82 +2,83 @@ MEX = mex MEXENDING = mexa64 +PATH_TO_WRAP = /not_really_a_real_path/borg/gtsam/wrap mex_flags = -O5 all: Point2 Point3 Test # Point2 -new_Point2_.$(MEXENDING): new_Point2_.cpp +new_Point2_.$(MEXENDING): new_Point2_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_Point2_.cpp -output new_Point2_ -@Point2/x.$(MEXENDING): @Point2/x.cpp +@Point2/x.$(MEXENDING): @Point2/x.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/x.cpp -output @Point2/x -@Point2/y.$(MEXENDING): @Point2/y.cpp +@Point2/y.$(MEXENDING): @Point2/y.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/y.cpp -output @Point2/y -@Point2/dim.$(MEXENDING): @Point2/dim.cpp +@Point2/dim.$(MEXENDING): @Point2/dim.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/dim.cpp -output @Point2/dim -@Point2/returnChar.$(MEXENDING): @Point2/returnChar.cpp +@Point2/returnChar.$(MEXENDING): @Point2/returnChar.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/returnChar.cpp -output @Point2/returnChar -@Point2/argChar.$(MEXENDING): @Point2/argChar.cpp +@Point2/argChar.$(MEXENDING): @Point2/argChar.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/argChar.cpp -output @Point2/argChar -@Point2/argUChar.$(MEXENDING): @Point2/argUChar.cpp +@Point2/argUChar.$(MEXENDING): @Point2/argUChar.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/argUChar.cpp -output @Point2/argUChar -@Point2/vectorConfusion.$(MEXENDING): @Point2/vectorConfusion.cpp +@Point2/vectorConfusion.$(MEXENDING): @Point2/vectorConfusion.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point2/vectorConfusion.cpp -output @Point2/vectorConfusion Point2: new_Point2_.$(MEXENDING) @Point2/x.$(MEXENDING) @Point2/y.$(MEXENDING) @Point2/dim.$(MEXENDING) @Point2/returnChar.$(MEXENDING) @Point2/argChar.$(MEXENDING) @Point2/argUChar.$(MEXENDING) @Point2/vectorConfusion.$(MEXENDING) # Point3 -new_Point3_.$(MEXENDING): new_Point3_.cpp +new_Point3_.$(MEXENDING): new_Point3_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_Point3_.cpp -output new_Point3_ -Point3_staticFunction.$(MEXENDING): Point3_staticFunction.cpp +Point3_staticFunction.$(MEXENDING): Point3_staticFunction.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) Point3_staticFunction.cpp -output Point3_staticFunction -Point3_StaticFunctionRet.$(MEXENDING): Point3_StaticFunctionRet.cpp +Point3_StaticFunctionRet.$(MEXENDING): Point3_StaticFunctionRet.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) Point3_StaticFunctionRet.cpp -output Point3_StaticFunctionRet -@Point3/norm.$(MEXENDING): @Point3/norm.cpp +@Point3/norm.$(MEXENDING): @Point3/norm.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Point3/norm.cpp -output @Point3/norm Point3: new_Point3_.$(MEXENDING) Point3_staticFunction.$(MEXENDING) Point3_StaticFunctionRet.$(MEXENDING) @Point3/norm.$(MEXENDING) # Test -new_Test_.$(MEXENDING): new_Test_.cpp +new_Test_.$(MEXENDING): new_Test_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_Test_.cpp -output new_Test_ -@Test/return_pair.$(MEXENDING): @Test/return_pair.cpp +@Test/return_pair.$(MEXENDING): @Test/return_pair.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_pair.cpp -output @Test/return_pair -@Test/return_bool.$(MEXENDING): @Test/return_bool.cpp +@Test/return_bool.$(MEXENDING): @Test/return_bool.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_bool.cpp -output @Test/return_bool -@Test/return_size_t.$(MEXENDING): @Test/return_size_t.cpp +@Test/return_size_t.$(MEXENDING): @Test/return_size_t.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_size_t.cpp -output @Test/return_size_t -@Test/return_int.$(MEXENDING): @Test/return_int.cpp +@Test/return_int.$(MEXENDING): @Test/return_int.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_int.cpp -output @Test/return_int -@Test/return_double.$(MEXENDING): @Test/return_double.cpp +@Test/return_double.$(MEXENDING): @Test/return_double.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_double.cpp -output @Test/return_double -@Test/return_string.$(MEXENDING): @Test/return_string.cpp +@Test/return_string.$(MEXENDING): @Test/return_string.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_string.cpp -output @Test/return_string -@Test/return_vector1.$(MEXENDING): @Test/return_vector1.cpp +@Test/return_vector1.$(MEXENDING): @Test/return_vector1.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_vector1.cpp -output @Test/return_vector1 -@Test/return_matrix1.$(MEXENDING): @Test/return_matrix1.cpp +@Test/return_matrix1.$(MEXENDING): @Test/return_matrix1.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_matrix1.cpp -output @Test/return_matrix1 -@Test/return_vector2.$(MEXENDING): @Test/return_vector2.cpp +@Test/return_vector2.$(MEXENDING): @Test/return_vector2.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_vector2.cpp -output @Test/return_vector2 -@Test/return_matrix2.$(MEXENDING): @Test/return_matrix2.cpp +@Test/return_matrix2.$(MEXENDING): @Test/return_matrix2.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_matrix2.cpp -output @Test/return_matrix2 -@Test/arg_EigenConstRef.$(MEXENDING): @Test/arg_EigenConstRef.cpp +@Test/arg_EigenConstRef.$(MEXENDING): @Test/arg_EigenConstRef.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/arg_EigenConstRef.cpp -output @Test/arg_EigenConstRef -@Test/return_field.$(MEXENDING): @Test/return_field.cpp +@Test/return_field.$(MEXENDING): @Test/return_field.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_field.cpp -output @Test/return_field -@Test/return_TestPtr.$(MEXENDING): @Test/return_TestPtr.cpp +@Test/return_TestPtr.$(MEXENDING): @Test/return_TestPtr.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_TestPtr.cpp -output @Test/return_TestPtr -@Test/return_Test.$(MEXENDING): @Test/return_Test.cpp +@Test/return_Test.$(MEXENDING): @Test/return_Test.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_Test.cpp -output @Test/return_Test -@Test/return_Point2Ptr.$(MEXENDING): @Test/return_Point2Ptr.cpp +@Test/return_Point2Ptr.$(MEXENDING): @Test/return_Point2Ptr.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_Point2Ptr.cpp -output @Test/return_Point2Ptr -@Test/create_ptrs.$(MEXENDING): @Test/create_ptrs.cpp +@Test/create_ptrs.$(MEXENDING): @Test/create_ptrs.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/create_ptrs.cpp -output @Test/create_ptrs -@Test/create_MixedPtrs.$(MEXENDING): @Test/create_MixedPtrs.cpp +@Test/create_MixedPtrs.$(MEXENDING): @Test/create_MixedPtrs.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/create_MixedPtrs.cpp -output @Test/create_MixedPtrs -@Test/return_ptrs.$(MEXENDING): @Test/return_ptrs.cpp +@Test/return_ptrs.$(MEXENDING): @Test/return_ptrs.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/return_ptrs.cpp -output @Test/return_ptrs -@Test/print.$(MEXENDING): @Test/print.cpp +@Test/print.$(MEXENDING): @Test/print.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @Test/print.cpp -output @Test/print Test: new_Test_.$(MEXENDING) @Test/return_pair.$(MEXENDING) @Test/return_bool.$(MEXENDING) @Test/return_size_t.$(MEXENDING) @Test/return_int.$(MEXENDING) @Test/return_double.$(MEXENDING) @Test/return_string.$(MEXENDING) @Test/return_vector1.$(MEXENDING) @Test/return_matrix1.$(MEXENDING) @Test/return_vector2.$(MEXENDING) @Test/return_matrix2.$(MEXENDING) @Test/arg_EigenConstRef.$(MEXENDING) @Test/return_field.$(MEXENDING) @Test/return_TestPtr.$(MEXENDING) @Test/return_Test.$(MEXENDING) @Test/return_Point2Ptr.$(MEXENDING) @Test/create_ptrs.$(MEXENDING) @Test/create_MixedPtrs.$(MEXENDING) @Test/return_ptrs.$(MEXENDING) @Test/print.$(MEXENDING) diff --git a/wrap/tests/expected/new_Point2_.cpp b/wrap/tests/expected/new_Point2_.cpp index 7d3af0038..11b2821a3 100644 --- a/wrap/tests/expected/new_Point2_.cpp +++ b/wrap/tests/expected/new_Point2_.cpp @@ -41,7 +41,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new Point2(x,y)); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected/new_Point3_.cpp b/wrap/tests/expected/new_Point3_.cpp index 368b3069e..01316da5a 100644 --- a/wrap/tests/expected/new_Point3_.cpp +++ b/wrap/tests/expected/new_Point3_.cpp @@ -40,7 +40,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new Point3(x,y,z)); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected/new_Test_.cpp b/wrap/tests/expected/new_Test_.cpp index a6bcc9549..e14e6b71d 100644 --- a/wrap/tests/expected/new_Test_.cpp +++ b/wrap/tests/expected/new_Test_.cpp @@ -42,7 +42,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new Test(a,b)); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/Makefile b/wrap/tests/expected_namespaces/Makefile index dcc3b1dbd..55866228b 100644 --- a/wrap/tests/expected_namespaces/Makefile +++ b/wrap/tests/expected_namespaces/Makefile @@ -2,50 +2,51 @@ MEX = mex MEXENDING = mexa64 +PATH_TO_WRAP = /not_really_a_real_path/borg/gtsam/wrap mex_flags = -O5 all: ns1ClassA ns1ClassB ns2ClassA ns2ns3ClassB ns2ClassC ClassD # ns1ClassA -new_ns1ClassA_.$(MEXENDING): new_ns1ClassA_.cpp +new_ns1ClassA_.$(MEXENDING): new_ns1ClassA_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ns1ClassA_.cpp -output new_ns1ClassA_ ns1ClassA: new_ns1ClassA_.$(MEXENDING) # ns1ClassB -new_ns1ClassB_.$(MEXENDING): new_ns1ClassB_.cpp +new_ns1ClassB_.$(MEXENDING): new_ns1ClassB_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ns1ClassB_.cpp -output new_ns1ClassB_ ns1ClassB: new_ns1ClassB_.$(MEXENDING) # ns2ClassA -new_ns2ClassA_.$(MEXENDING): new_ns2ClassA_.cpp +new_ns2ClassA_.$(MEXENDING): new_ns2ClassA_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ns2ClassA_.cpp -output new_ns2ClassA_ -ns2ClassA_afunction.$(MEXENDING): ns2ClassA_afunction.cpp +ns2ClassA_afunction.$(MEXENDING): ns2ClassA_afunction.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) ns2ClassA_afunction.cpp -output ns2ClassA_afunction -@ns2ClassA/memberFunction.$(MEXENDING): @ns2ClassA/memberFunction.cpp +@ns2ClassA/memberFunction.$(MEXENDING): @ns2ClassA/memberFunction.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @ns2ClassA/memberFunction.cpp -output @ns2ClassA/memberFunction -@ns2ClassA/nsArg.$(MEXENDING): @ns2ClassA/nsArg.cpp +@ns2ClassA/nsArg.$(MEXENDING): @ns2ClassA/nsArg.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @ns2ClassA/nsArg.cpp -output @ns2ClassA/nsArg -@ns2ClassA/nsReturn.$(MEXENDING): @ns2ClassA/nsReturn.cpp +@ns2ClassA/nsReturn.$(MEXENDING): @ns2ClassA/nsReturn.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) @ns2ClassA/nsReturn.cpp -output @ns2ClassA/nsReturn ns2ClassA: new_ns2ClassA_.$(MEXENDING) ns2ClassA_afunction.$(MEXENDING) @ns2ClassA/memberFunction.$(MEXENDING) @ns2ClassA/nsArg.$(MEXENDING) @ns2ClassA/nsReturn.$(MEXENDING) # ns2ns3ClassB -new_ns2ns3ClassB_.$(MEXENDING): new_ns2ns3ClassB_.cpp +new_ns2ns3ClassB_.$(MEXENDING): new_ns2ns3ClassB_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ns2ns3ClassB_.cpp -output new_ns2ns3ClassB_ ns2ns3ClassB: new_ns2ns3ClassB_.$(MEXENDING) # ns2ClassC -new_ns2ClassC_.$(MEXENDING): new_ns2ClassC_.cpp +new_ns2ClassC_.$(MEXENDING): new_ns2ClassC_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ns2ClassC_.cpp -output new_ns2ClassC_ ns2ClassC: new_ns2ClassC_.$(MEXENDING) # ClassD -new_ClassD_.$(MEXENDING): new_ClassD_.cpp +new_ClassD_.$(MEXENDING): new_ClassD_.cpp $(PATH_TO_WRAP)/matlab.h $(MEX) $(mex_flags) new_ClassD_.cpp -output new_ClassD_ ClassD: new_ClassD_.$(MEXENDING) diff --git a/wrap/tests/expected_namespaces/new_ClassD_.cpp b/wrap/tests/expected_namespaces/new_ClassD_.cpp index 352c470b0..6ebe46f2d 100644 --- a/wrap/tests/expected_namespaces/new_ClassD_.cpp +++ b/wrap/tests/expected_namespaces/new_ClassD_.cpp @@ -36,7 +36,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ClassD()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/new_ns1ClassA_.cpp b/wrap/tests/expected_namespaces/new_ns1ClassA_.cpp index 893331034..eca52a3ea 100644 --- a/wrap/tests/expected_namespaces/new_ns1ClassA_.cpp +++ b/wrap/tests/expected_namespaces/new_ns1ClassA_.cpp @@ -36,7 +36,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ns1::ClassA()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/new_ns1ClassB_.cpp b/wrap/tests/expected_namespaces/new_ns1ClassB_.cpp index 047348d1b..5eb90cae8 100644 --- a/wrap/tests/expected_namespaces/new_ns1ClassB_.cpp +++ b/wrap/tests/expected_namespaces/new_ns1ClassB_.cpp @@ -37,7 +37,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ns1::ClassB()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/new_ns2ClassA_.cpp b/wrap/tests/expected_namespaces/new_ns2ClassA_.cpp index cb06bf892..f0e6c2036 100644 --- a/wrap/tests/expected_namespaces/new_ns2ClassA_.cpp +++ b/wrap/tests/expected_namespaces/new_ns2ClassA_.cpp @@ -37,7 +37,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ns2::ClassA()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/new_ns2ClassC_.cpp b/wrap/tests/expected_namespaces/new_ns2ClassC_.cpp index 40c3343ef..ae6a88845 100644 --- a/wrap/tests/expected_namespaces/new_ns2ClassC_.cpp +++ b/wrap/tests/expected_namespaces/new_ns2ClassC_.cpp @@ -36,7 +36,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ns2::ClassC()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/expected_namespaces/new_ns2ns3ClassB_.cpp b/wrap/tests/expected_namespaces/new_ns2ns3ClassB_.cpp index ace0a261f..bf6e244a2 100644 --- a/wrap/tests/expected_namespaces/new_ns2ns3ClassB_.cpp +++ b/wrap/tests/expected_namespaces/new_ns2ns3ClassB_.cpp @@ -37,7 +37,6 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) self = new Shared(new ns2::ns3::ClassB()); } collector.insert(self); - std::cout << "constructed " << self << ", size=" << collector.size() << std::endl; out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL); *reinterpret_cast (mxGetPr(out[0])) = self; } diff --git a/wrap/tests/testWrap.cpp b/wrap/tests/testWrap.cpp index cdc6e42d6..8fac80113 100644 --- a/wrap/tests/testWrap.cpp +++ b/wrap/tests/testWrap.cpp @@ -39,6 +39,10 @@ static string topdir = "TOPSRCDIR_NOT_CONFIGURED"; // If TOPSRCDIR is not define typedef vector strvec; +// NOTE: as this path is only used to generate makefiles, it is hardcoded here for testing +// In practice, this path will be an absolute system path, which makes testing it more annoying +static const std::string headerPath = "/not_really_a_real_path/borg/gtsam/wrap"; + /* ************************************************************************* */ TEST( wrap, ArgumentList ) { ArgumentList args; @@ -63,13 +67,13 @@ TEST( wrap, check_exception ) { string path = topdir + "/wrap/tests"; Module module(path.c_str(), "testDependencies",enable_verbose); - CHECK_EXCEPTION(module.matlab_code("mex", "actual_deps", "mexa64", "-O5"), DependencyMissing); + CHECK_EXCEPTION(module.matlab_code("mex", "actual_deps", "mexa64", headerPath, "-O5"), DependencyMissing); } /* ************************************************************************* */ TEST( wrap, parse ) { - string header_path = topdir + "/wrap/tests"; - Module module(header_path.c_str(), "geometry",enable_verbose); + string markup_header_path = topdir + "/wrap/tests"; + Module module(markup_header_path.c_str(), "geometry",enable_verbose); EXPECT_LONGS_EQUAL(3, module.classes.size()); // check using declarations @@ -214,7 +218,7 @@ TEST( wrap, matlab_code_namespaces ) { // emit MATLAB code string exp_path = path + "/tests/expected_namespaces/"; string act_path = "actual_namespaces/"; - module.matlab_code("mex", "actual_namespaces", "mexa64", "-O5"); + module.matlab_code("mex", "actual_namespaces", "mexa64", headerPath, "-O5"); EXPECT(files_equal(exp_path + "new_ClassD_.cpp" , act_path + "new_ClassD_.cpp" )); EXPECT(files_equal(exp_path + "new_ClassD_.m" , act_path + "new_ClassD_.m" )); @@ -255,7 +259,7 @@ TEST( wrap, matlab_code ) { // emit MATLAB code // make_geometry will not compile, use make testwrap to generate real make - module.matlab_code("mex", "actual", "mexa64", "-O5"); + module.matlab_code("mex", "actual", "mexa64", headerPath, "-O5"); string epath = path + "/tests/expected/"; string apath = "actual/"; diff --git a/wrap/wrap.cpp b/wrap/wrap.cpp index 1b1b631e4..f818094f7 100644 --- a/wrap/wrap.cpp +++ b/wrap/wrap.cpp @@ -29,7 +29,7 @@ using namespace std; * @param interfacePath path to where interface file lives, e.g., borg/gtsam * @param moduleName name of the module to be generated e.g. gtsam * @param toolboxPath path where the toolbox should be generated, e.g. borg/gtsam/build - * @param nameSpace e.g. gtsam + * @param headerPath is the path to matlab.h * @param mexFlags extra arguments for mex script, i.e., include flags etc... */ void generate_matlab_toolbox( @@ -58,6 +58,7 @@ void usage() { cerr << " interfacePath : *absolute* path to directory of module interface file" << endl; cerr << " moduleName : the name of the module, interface file must be called moduleName.h" << endl; cerr << " toolboxPath : the directory in which to generate the wrappers" << endl; + cerr << " headerPath : path to matlab.h" << endl; cerr << " [mexFlags] : extra flags for the mex command" << endl; }