Skip to content

Commit

Permalink
matlab_mex: add hpipm include
Browse files Browse the repository at this point in the history
  • Loading branch information
FreyJo committed Aug 15, 2019
1 parent daf491e commit 3e798de
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
16 changes: 10 additions & 6 deletions interfaces/acados_matlab/ocp_compile_mex.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ function ocp_compile_mex(opts)
acados_interfaces_include = ['-I', fullfile(acados_folder, 'interfaces')];
external_include = ['-I', fullfile(acados_folder, 'external')];
blasfeo_include = ['-I', fullfile(acados_folder, 'external', 'blasfeo', 'include')];
hpipm_include = ['-I', fullfile(acados_folder, 'external', 'hpipm', 'include')];
acados_lib_path = ['-L', fullfile(acados_folder, 'lib')];

mex_names = { ...
Expand Down Expand Up @@ -51,20 +52,25 @@ function ocp_compile_mex(opts)
setenv('CFLAGS', cflags_tmp);
end


for ii=1:length(mex_files)
disp(['compiling ', mex_files{ii}])
if is_octave()
% mkoctfile -p CFLAGS
if (strcmp(opts.qp_solver, 'full_condensing_qpoases'))
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', '-lqpOASES_e', mex_files{ii})
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include, hpipm_include,...
acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', '-lqpOASES_e', mex_files{ii})
else
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', mex_files{ii})
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include, hpipm_include,...
acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', mex_files{ii})
end
else
if (strcmp(opts.qp_solver, 'full_condensing_qpoases'))
mex(mex_flags, 'CFLAGS=$CFLAGS -std=c99 -fopenmp -DACADOS_WITH_QPOASES', acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', '-lqpOASES_e', mex_files{ii})
mex(mex_flags, 'CFLAGS=$CFLAGS -std=c99 -fopenmp -DACADOS_WITH_QPOASES', acados_include, acados_interfaces_include, external_include, blasfeo_include, hpipm_include,...
acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', '-lqpOASES_e', mex_files{ii})
else
mex(mex_flags, 'CFLAGS=$CFLAGS -std=c99 -fopenmp', acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', mex_files{ii})
mex(mex_flags, 'CFLAGS=$CFLAGS -std=c99 -fopenmp', acados_include, acados_interfaces_include, external_include, blasfeo_include, hpipm_include,...
acados_lib_path, '-lacados', '-lhpipm', '-lblasfeo', mex_files{ii})
end
end
end
Expand All @@ -82,5 +88,3 @@ function ocp_compile_mex(opts)
end




6 changes: 4 additions & 2 deletions interfaces/acados_matlab/ocp_set_ext_fun.m
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
acados_interfaces_include = ['-I' fullfile(acados_folder, 'interfaces')];
external_include = ['-I' fullfile(acados_folder, 'external')];
blasfeo_include = ['-I' fullfile(acados_folder, 'external' , 'blasfeo', 'include')];
hpipm_include = ['-I' fullfile(acados_folder, 'external' , 'hpipm', 'include')];
acados_lib_path = ['-L' fullfile(acados_folder, 'lib')];
acados_matlab_lib_path = ['-L' fullfile(acados_folder, 'interfaces', 'acados_matlab')];
model_lib_path = ['-L', opts_struct.output_dir];
Expand Down Expand Up @@ -384,7 +385,9 @@
cflags_tmp = [cflags_tmp, ' -DN0=', num2str(phase_start{ii})];
cflags_tmp = [cflags_tmp, ' -DN1=', num2str(phase_end{ii})];
setenv('CFLAGS', cflags_tmp);
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, acados_matlab_lib_path, model_lib_path, '-lacados', '-lhpipm', '-lblasfeo', ['-l', model_name], mex_files{1});
mex(acados_include, acados_interfaces_include, external_include, blasfeo_include,...
hpipm_include, acados_lib_path, acados_matlab_lib_path, model_lib_path, '-lacados',...
'-lhpipm', '-lblasfeo', ['-l', model_name], mex_files{1});
else
mex(mex_flags, 'CFLAGS=$CFLAGS -std=c99 -fopenmp', ['-DSETTER=', setter{ii}], ['-DSET_FIELD=', set_fields{ii}], ['-DMEX_FIELD=', mex_fields{ii}], ['-DFUN_NAME=', fun_names{ii}], ['-DPHASE=', num2str(phase{ii})], ['-DN0=', num2str(phase_start{ii})], ['-DN1=', num2str(phase_end{ii})], acados_include, acados_interfaces_include, external_include, blasfeo_include, acados_lib_path, acados_matlab_lib_path, model_lib_path, '-lacados', '-lhpipm', '-lblasfeo', ['-l', model_name], mex_files{1}); % TODO
end
Expand Down Expand Up @@ -414,7 +417,6 @@
%ocp_set_ext_fun_tmp(C_ocp, C_ocp_ext_fun, model_struct, opts_struct);

%C_ocp_ext_fun
%keyboard

return;

0 comments on commit 3e798de

Please sign in to comment.