-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadapter_lib_gen.m
39 lines (38 loc) · 1.68 KB
/
adapter_lib_gen.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function adapter_lib_gen(action)
if strcmp(action, "gen")
delete('defineLPMSAdapterLib.mlx')
delete('defineLPMSAdapterLib.m')
if ~exist('.\LPMSAdapterLib', 'dir')
mkdir('.\LPMSAdapterLib')
end
projectPath = pwd();
adapterPath = fullfile(projectPath, 'LPMSAdapter');
adapterHeaderPath = fullfile(adapterPath, 'LPMSAdapter');
adapterHeaderFile = fullfile(adapterHeaderPath, 'LPMSAdapter.h');
libname = 'LPMSAdapterLib';
includePaths = {adapterHeaderPath, fullfile(adapterPath, 'eigen'), fullfile(adapterPath, 'openzen', 'include')};
libs = {fullfile(adapterPath, 'x64', 'Release', 'LPMSAdapter.lib'), fullfile(adapterPath, 'openzen', 'lib', 'x64', 'OpenZen.lib')};
clibgen.generateLibraryDefinition(adapterHeaderFile, 'IncludePath', includePaths, 'Libraries', libs, ...
'PackageName', libname, 'ReturnCArrays', false, 'Verbose', true);
delete('defineLPMSAdapterLib.mlx')
delete('defineLPMSAdapterLib.m')
copyfile('scripts/defineLPMSAdapterLib_full.m', 'defineLPMSAdapterLib.m')
end
if strcmp(action, "build")
build(defineLPMSAdapterLib);
addLibs();
end
if strcmp(action, "add_lib")
addLibs();
end
if strcmp(action, "clean")
delete('defineLPMSAdapterLib.mlx', 'defineLPMSAdapterLib.m', 'LPMSAdapterLibData.xml');
end
end
function addLibs()
addpath('LPMSAdapterLib');
adapterDllLoc = fullfile(pwd(), 'LPMSAdapter', 'x64', 'Release');
openzenDllLoc = fullfile(pwd(), 'LPMSAdapter', 'openzen', 'lib', 'x64');
syspath = getenv('PATH');
setenv('PATH', [adapterDllLoc ';' openzenDllLoc ';' syspath]);
end