Add `find_matlab()` Module
Could you please add find_matlab() module similar to CMake's FindMatlab.cmake?
It should enable simple linking with MATLAB and creation of MEX files.
The output should be similar to CMake:
Matlab_FOUND.Matlab_ROOT_DIR.Matlab_INCLUDE_DIRS.Matlab_MX_LIBRARY.Matlab_LIBRARIES.
This will allow me creating a template for creation of a MEX file using xmake.
This will assist increasing the exposure of xmake for MATLAB users.
need only add find_matlab.lua at https://github.com/xmake-io/xmake/tree/master/xmake/modules/detect/sdks
But I don’t have enough disk space to install matlab, I can’t test it.
Can we do it together. One way is just replicate what's in https://github.com/Kitware/CMake/blob/master/Modules/FindMatlab.cmake.
I just don't know Lua. But it seems on Windows it has information in registry and for other platforms it uses pre defined paths.
References
- https://github.com/xmake-io/xmake/blob/master/xmake/modules/detect/sdks/find_mingw.lua.
- https://github.com/xmake-io/xmake/blob/master/xmake/modules/detect/packages/find_openssl.lua.
You can first write a separate find_matlab.lua file and run the following command to test it directly.
xmake l ./find_matlab.lua
find_matlab.lua
-- imports
import("lib.detect.find_file")
import("lib.detect.find_path")
import("lib.detect.find_library")
-- main entry
function main()
-- do find
-- ..
return {includedirs = {"dir1", "dir2"}, links = "", libfiles = "", linkdirs = ""}
end
You can refer https://github.com/xmake-io/xmake/blob/master/xmake/modules/detect/packages/find_openssl.lua
I will consider supporting it in the next version (v2.3.9) when i have enough disk space.
Oh, I found that the matlab installation package actually needs more than 20G, I estimate that at least 50G of disk space needs to be reserved to complete the installation.
I'm very sorry, I may not be able to support matlab recently, because I can't clean enough space to install it on my win10 virtual machine.
For the above you only need to install MATLAB which is ~4 [GB] only. You don't need any package. In the list only chose MATLAB.

Mark only this Check Box and leave all others empty.
But the installer.rar installation package I downloaded is more than 20G. I need enough disk space to decompress and store installer.iso before running the installer.
Because I cannot download the trial package from the official website. So I downloaded the complete installation package from other places.
I finished writing find_matlab.lua
function _find_matlab()
local _ret = {}
local matlabkey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB"
local valuekeys = winos.registry_keys(matlabkey)
if #valuekeys == 0 then
return {}
end
local itemkey = valuekeys[1] .. ";MATLABROOT"
local itemvalue
try{
function ()
itemvalue = winos.registry_query(itemkey)
end,
catch{
function (errors)
return {}
end
}
}
_ret.Matlab_FOUND = true
_ret.Matlab_ROOT_DIR = itemvalue
_ret.Matlab_INCLUDE_DIRS = path.join(itemvalue,"extern","include")
for _,value in ipairs(os.dirs(path.join(itemvalue,"extern","lib","**"))) do
local dirbasename = path.basename(value)
if not dirbasename:startswith("win") then
_ret.MATLAB_LIB_DIRS = _ret.MATLAB_LIB_DIRS or {}
_ret.MATLAB_LIB_DIRS[#_ret.MATLAB_LIB_DIRS + 1] = value
end
end
for _,value in ipairs(_ret.MATLAB_LIB_DIRS) do
_ret.Matlab_LIBRARIES = _ret.Matlab_LIBRARIES or {}
local dirbasename = path.basename(value)
_ret.Matlab_LIBRARIES[dirbasename] = os.files(value .. "/*.lib")
end
return _ret
end
function main(opt)
local ret = {}
if os.host() == "windows" then
ret = _find_matlab()
end
return ret
end
And I test on my machine,the following result is returned
{
MATLAB_LIB_DIRS = {
"D:\Matlab18\extern\lib\win64\microsoft",
"D:\Matlab18\extern\lib\win64\mingw64"
},
Matlab_INCLUDE_DIRS = "D:\Matlab18\extern\include",
Matlab_FOUND = true,
Matlab_LIBRARIES = {
microsoft = {
"D:\Matlab18\extern\lib\win64\microsoft\asynciocoder.lib",
"D:\Matlab18\extern\lib\win64\microsoft\gpu.lib",
"D:\Matlab18\extern\lib\win64\microsoft\gpumexbinder.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libcovrt.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libemlrt.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libeng.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libfixedpoint.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmat.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libMatlabCppSharedLib.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libMatlabDataArray.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libMatlabEngine.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmex.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwblas.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwblascompat32.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter3.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackctbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackctbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcannythresholding_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcgir_construct.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcgxert.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoderprofile.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_connectivity_memunit.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ParamTuningTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_target_services.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ToAsyncQueueTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwComputeMetric.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwddist.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwedgesobelprewitt_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwedgethinning_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwforegroundDetector.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwgetnumcores.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto16.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto8.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimfilter.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimreconstruct.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimregionalmax.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwimterp2d.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwint16touint16.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwint32touint32.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwint8touint8.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwintlut.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwintluttbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwipp.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwippfilter.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwippgeotrans.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwippmedianfilter.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwippreconstruct.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwjpegreader.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwlapack.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmathutil.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_ocv.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_packed.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwocvgpumex.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwocvmex.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwordfilt2.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwpolyfun.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwremap.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwremaptbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2gray_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2hsv_tbb.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwrtiostreamutils.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsdi_raccel.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwservices.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsigstream.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsimulink.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_parallel.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simbridge.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simlog.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwslio_clients.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwslio_core.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsltest_raccel.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_AsyncioQueue.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_fileio.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_log_load_blocks.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_services.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_cov_bridge.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_loader.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_core.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_instrumentation.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwsl_solver_rtw.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwstringutil.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwtbbhist.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwuint16toint16.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms_rtiostream.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils_sl.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libmx.lib",
"D:\Matlab18\extern\lib\win64\microsoft\libut.lib",
"D:\Matlab18\extern\lib\win64\microsoft\mclbase.lib",
"D:\Matlab18\extern\lib\win64\microsoft\mclcommain.lib",
"D:\Matlab18\extern\lib\win64\microsoft\mclmcr.lib",
"D:\Matlab18\extern\lib\win64\microsoft\mclmcrrt.lib",
"D:\Matlab18\extern\lib\win64\microsoft\mclxlmain.lib",
"D:\Matlab18\extern\lib\win64\microsoft\ne_mli.lib",
"D:\Matlab18\extern\lib\win64\microsoft\ocrutils.lib",
"D:\Matlab18\extern\lib\win64\microsoft\physmod_common_external_library_kernel.lib",
"D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_performance.lib",
"D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_util.lib",
"D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_sli_util.lib",
"D:\Matlab18\extern\lib\win64\microsoft\rtwcg.lib",
"D:\Matlab18\extern\lib\win64\microsoft\sf_runtime.lib",
"D:\Matlab18\extern\lib\win64\microsoft\SimulinkBlock.lib"
},
mingw64 = {
"D:\Matlab18\extern\lib\win64\mingw64\asynciocoder.lib",
"D:\Matlab18\extern\lib\win64\mingw64\gpu.lib",
"D:\Matlab18\extern\lib\win64\mingw64\gpumexbinder.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libcovrt.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libemlrt.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libeng.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libfixedpoint.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmat.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libMatlabCppSharedLib.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libMatlabDataArray.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libMatlabEngine.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmex.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwblas.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwblascompat32.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter3.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackctbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackctbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcannythresholding_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcgir_construct.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcgxert.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoderprofile.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_connectivity_memunit.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ParamTuningTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_target_services.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ToAsyncQueueTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILHostAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILTgtAppSvc.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwComputeMetric.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwddist.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwedgesobelprewitt_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwedgethinning_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwfilcommon.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwforegroundDetector.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwgetnumcores.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto16.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto8.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimfilter.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimreconstruct.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimregionalmax.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwimterp2d.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwint16touint16.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwint32touint32.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwint8touint8.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwintlut.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwintluttbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwipp.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwippfilter.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwippgeotrans.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwippmedianfilter.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwippreconstruct.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwjpegreader.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwlapack.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmathutil.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_ocv.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_packed.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwocvgpumex.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwocvmex.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwordfilt2.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwpolyfun.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwremap.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwremaptbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2gray_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2hsv_tbb.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwrtiostreamutils.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsdi_raccel.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwservices.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsigstream.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsimulink.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_parallel.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simbridge.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simlog.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwslio_clients.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwslio_core.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsltest_raccel.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_AsyncioQueue.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_fileio.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_log_load_blocks.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_services.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_cov_bridge.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_loader.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_core.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_instrumentation.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwsl_solver_rtw.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwstringutil.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwtbbhist.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwuint16toint16.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms_rtiostream.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils_sl.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libmx.lib",
"D:\Matlab18\extern\lib\win64\mingw64\libut.lib",
"D:\Matlab18\extern\lib\win64\mingw64\mclbase.lib",
"D:\Matlab18\extern\lib\win64\mingw64\mclcommain.lib",
"D:\Matlab18\extern\lib\win64\mingw64\mclmcr.lib",
"D:\Matlab18\extern\lib\win64\mingw64\mclmcrrt.lib",
"D:\Matlab18\extern\lib\win64\mingw64\mclxlmain.lib",
"D:\Matlab18\extern\lib\win64\mingw64\ne_mli.lib",
"D:\Matlab18\extern\lib\win64\mingw64\ocrutils.lib",
"D:\Matlab18\extern\lib\win64\mingw64\physmod_common_external_library_kernel.lib",
"D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_performance.lib",
"D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_util.lib",
"D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_sli_util.lib",
"D:\Matlab18\extern\lib\win64\mingw64\rtwcg.lib",
"D:\Matlab18\extern\lib\win64\mingw64\sf_runtime.lib",
"D:\Matlab18\extern\lib\win64\mingw64\SimulinkBlock.lib"
}
},
Matlab_ROOT_DIR = "D:\Matlab18"
}
I finished writing find_matlab.lua
function _find_matlab() local _ret = {} local matlabkey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB" local valuekeys = winos.registry_keys(matlabkey) if #valuekeys == 0 then return {} end local itemkey = valuekeys[1] .. ";MATLABROOT" local itemvalue try{ function () itemvalue = winos.registry_query(itemkey) end, catch{ function (errors) return {} end } } _ret.Matlab_FOUND = true _ret.Matlab_ROOT_DIR = itemvalue _ret.Matlab_INCLUDE_DIRS = path.join(itemvalue,"extern","include") for _,value in ipairs(os.dirs(path.join(itemvalue,"extern","lib","**"))) do local dirbasename = path.basename(value) if not dirbasename:startswith("win") then _ret.MATLAB_LIB_DIRS = _ret.MATLAB_LIB_DIRS or {} _ret.MATLAB_LIB_DIRS[#_ret.MATLAB_LIB_DIRS + 1] = value end end for _,value in ipairs(_ret.MATLAB_LIB_DIRS) do _ret.Matlab_LIBRARIES = _ret.Matlab_LIBRARIES or {} local dirbasename = path.basename(value) _ret.Matlab_LIBRARIES[dirbasename] = os.files(value .. "/*.lib") end return _ret end function main(opt) local ret = {} if os.host() == "windows" then ret = _find_matlab() end return ret endAnd I test on my machine,the following result is returned
{ MATLAB_LIB_DIRS = { "D:\Matlab18\extern\lib\win64\microsoft", "D:\Matlab18\extern\lib\win64\mingw64" }, Matlab_INCLUDE_DIRS = "D:\Matlab18\extern\include", Matlab_FOUND = true, Matlab_LIBRARIES = { microsoft = { "D:\Matlab18\extern\lib\win64\microsoft\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpu.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\microsoft\libcovrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libemlrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libeng.lib", "D:\Matlab18\extern\lib\win64\microsoft\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblas.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwddist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwipp.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremap.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwservices.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmx.lib", "D:\Matlab18\extern\lib\win64\microsoft\libut.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclbase.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclcommain.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcr.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\microsoft\ne_mli.lib", "D:\Matlab18\extern\lib\win64\microsoft\ocrutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\rtwcg.lib", "D:\Matlab18\extern\lib\win64\microsoft\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\microsoft\SimulinkBlock.lib" }, mingw64 = { "D:\Matlab18\extern\lib\win64\mingw64\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpu.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\mingw64\libcovrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libemlrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libeng.lib", "D:\Matlab18\extern\lib\win64\mingw64\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblas.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwddist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwfilcommon.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwipp.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremap.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwservices.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmx.lib", "D:\Matlab18\extern\lib\win64\mingw64\libut.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclbase.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclcommain.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcr.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\mingw64\ne_mli.lib", "D:\Matlab18\extern\lib\win64\mingw64\ocrutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\rtwcg.lib", "D:\Matlab18\extern\lib\win64\mingw64\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\mingw64\SimulinkBlock.lib" } }, Matlab_ROOT_DIR = "D:\Matlab18" }
you can open a pr and add it as system package to xmake-repo, like this
https://github.com/xmake-io/xmake-repo/blob/0e31570a2dd31f1f99e6fcebce278f9829b81b9a/packages/c/cuda/xmake.lua
I finished writing find_matlab.lua
function _find_matlab() local _ret = {} local matlabkey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB" local valuekeys = winos.registry_keys(matlabkey) if #valuekeys == 0 then return {} end local itemkey = valuekeys[1] .. ";MATLABROOT" local itemvalue try{ function () itemvalue = winos.registry_query(itemkey) end, catch{ function (errors) return {} end } } _ret.Matlab_FOUND = true _ret.Matlab_ROOT_DIR = itemvalue _ret.Matlab_INCLUDE_DIRS = path.join(itemvalue,"extern","include") for _,value in ipairs(os.dirs(path.join(itemvalue,"extern","lib","**"))) do local dirbasename = path.basename(value) if not dirbasename:startswith("win") then _ret.MATLAB_LIB_DIRS = _ret.MATLAB_LIB_DIRS or {} _ret.MATLAB_LIB_DIRS[#_ret.MATLAB_LIB_DIRS + 1] = value end end for _,value in ipairs(_ret.MATLAB_LIB_DIRS) do _ret.Matlab_LIBRARIES = _ret.Matlab_LIBRARIES or {} local dirbasename = path.basename(value) _ret.Matlab_LIBRARIES[dirbasename] = os.files(value .. "/*.lib") end return _ret end function main(opt) local ret = {} if os.host() == "windows" then ret = _find_matlab() end return ret endAnd I test on my machine,the following result is returned
{ MATLAB_LIB_DIRS = { "D:\Matlab18\extern\lib\win64\microsoft", "D:\Matlab18\extern\lib\win64\mingw64" }, Matlab_INCLUDE_DIRS = "D:\Matlab18\extern\include", Matlab_FOUND = true, Matlab_LIBRARIES = { microsoft = { "D:\Matlab18\extern\lib\win64\microsoft\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpu.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\microsoft\libcovrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libemlrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libeng.lib", "D:\Matlab18\extern\lib\win64\microsoft\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblas.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwddist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwipp.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremap.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwservices.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmx.lib", "D:\Matlab18\extern\lib\win64\microsoft\libut.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclbase.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclcommain.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcr.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\microsoft\ne_mli.lib", "D:\Matlab18\extern\lib\win64\microsoft\ocrutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\rtwcg.lib", "D:\Matlab18\extern\lib\win64\microsoft\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\microsoft\SimulinkBlock.lib" }, mingw64 = { "D:\Matlab18\extern\lib\win64\mingw64\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpu.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\mingw64\libcovrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libemlrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libeng.lib", "D:\Matlab18\extern\lib\win64\mingw64\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblas.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwddist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwfilcommon.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwipp.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremap.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwservices.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmx.lib", "D:\Matlab18\extern\lib\win64\mingw64\libut.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclbase.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclcommain.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcr.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\mingw64\ne_mli.lib", "D:\Matlab18\extern\lib\win64\mingw64\ocrutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\rtwcg.lib", "D:\Matlab18\extern\lib\win64\mingw64\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\mingw64\SimulinkBlock.lib" } }, Matlab_ROOT_DIR = "D:\Matlab18" }you can open a pr and add it as system package to xmake-repo, like this
https://github.com/xmake-io/xmake-repo/blob/0e31570a2dd31f1f99e6fcebce278f9829b81b9a/packages/c/cuda/xmake.lua
OK. I will do it on the weekend
I finished writing find_matlab.lua
function _find_matlab() local _ret = {} local matlabkey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB" local valuekeys = winos.registry_keys(matlabkey) if #valuekeys == 0 then return {} end local itemkey = valuekeys[1] .. ";MATLABROOT" local itemvalue try{ function () itemvalue = winos.registry_query(itemkey) end, catch{ function (errors) return {} end } } _ret.Matlab_FOUND = true _ret.Matlab_ROOT_DIR = itemvalue _ret.Matlab_INCLUDE_DIRS = path.join(itemvalue,"extern","include") for _,value in ipairs(os.dirs(path.join(itemvalue,"extern","lib","**"))) do local dirbasename = path.basename(value) if not dirbasename:startswith("win") then _ret.MATLAB_LIB_DIRS = _ret.MATLAB_LIB_DIRS or {} _ret.MATLAB_LIB_DIRS[#_ret.MATLAB_LIB_DIRS + 1] = value end end for _,value in ipairs(_ret.MATLAB_LIB_DIRS) do _ret.Matlab_LIBRARIES = _ret.Matlab_LIBRARIES or {} local dirbasename = path.basename(value) _ret.Matlab_LIBRARIES[dirbasename] = os.files(value .. "/*.lib") end return _ret end function main(opt) local ret = {} if os.host() == "windows" then ret = _find_matlab() end return ret endAnd I test on my machine,the following result is returned
{ MATLAB_LIB_DIRS = { "D:\Matlab18\extern\lib\win64\microsoft", "D:\Matlab18\extern\lib\win64\mingw64" }, Matlab_INCLUDE_DIRS = "D:\Matlab18\extern\include", Matlab_FOUND = true, Matlab_LIBRARIES = { microsoft = { "D:\Matlab18\extern\lib\win64\microsoft\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpu.lib", "D:\Matlab18\extern\lib\win64\microsoft\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\microsoft\libcovrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libemlrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\libeng.lib", "D:\Matlab18\extern\lib\win64\microsoft\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\microsoft\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblas.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwddist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwipp.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremap.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwservices.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\microsoft\libmx.lib", "D:\Matlab18\extern\lib\win64\microsoft\libut.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclbase.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclcommain.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcr.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\microsoft\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\microsoft\ne_mli.lib", "D:\Matlab18\extern\lib\win64\microsoft\ocrutils.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\microsoft\rtwcg.lib", "D:\Matlab18\extern\lib\win64\microsoft\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\microsoft\SimulinkBlock.lib" }, mingw64 = { "D:\Matlab18\extern\lib\win64\mingw64\asynciocoder.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpu.lib", "D:\Matlab18\extern\lib\win64\mingw64\gpumexbinder.lib", "D:\Matlab18\extern\lib\win64\mingw64\libcovrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libemlrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\libeng.lib", "D:\Matlab18\extern\lib\win64\mingw64\libfixedpoint.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabCppSharedLib.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabDataArray.lib", "D:\Matlab18\extern\lib\win64\mingw64\libMatlabEngine.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblas.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwblascompat32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwboxfilter3.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDTFT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwdistEDT_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwlookup_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwbwunpackctbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcannythresholding_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgir_construct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcgxert.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoderprofile.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CodeInstrTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_CoderAssumpTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_connectivity_memunit.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ParamTuningTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_RTIOStreamTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_target_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_ToAsyncQueueTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILHostAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwcoder_XILTgtAppSvc.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwComputeMetric.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwddist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgesobelprewitt_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwedgethinning_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwfilcommon.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwforegroundDetector.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgetnumcores.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayto8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwgrayxform_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimlincomb_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimregionalmax.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwimterp2d.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint16touint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint32touint32.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwint8touint8.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintlut.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwintluttbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwipp.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippgeotrans.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippmedianfilter.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwippreconstruct.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwjpegreader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwlapack.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmathutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_binary_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_flat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_nonflat_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_ocv.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwmorphop_packed.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvgpumex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwocvmex.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwordfilt2.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwpolyfun.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremap.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwremaptbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2gray_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrgb2hsv_tbb.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwrtiostreamutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsdi_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwservices.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsigstream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsimulink.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_parallel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simbridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslexec_simlog.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_clients.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwslio_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsltest_raccel.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_AsyncioQueue.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_fileio.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_log_load_blocks.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_services.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_cov_bridge.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_sfcn_loader.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_core.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_simtarget_instrumentation.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwsl_solver_rtw.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwstringutil.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwtbbhist.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwuint16toint16.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilcomms_rtiostream.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmwxilutils_sl.lib", "D:\Matlab18\extern\lib\win64\mingw64\libmx.lib", "D:\Matlab18\extern\lib\win64\mingw64\libut.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclbase.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclcommain.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcr.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclmcrrt.lib", "D:\Matlab18\extern\lib\win64\mingw64\mclxlmain.lib", "D:\Matlab18\extern\lib\win64\mingw64\ne_mli.lib", "D:\Matlab18\extern\lib\win64\mingw64\ocrutils.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_external_library_kernel.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_performance.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_core_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\physmod_common_foundation_sli_util.lib", "D:\Matlab18\extern\lib\win64\mingw64\rtwcg.lib", "D:\Matlab18\extern\lib\win64\mingw64\sf_runtime.lib", "D:\Matlab18\extern\lib\win64\mingw64\SimulinkBlock.lib" } }, Matlab_ROOT_DIR = "D:\Matlab18" }you can open a pr and add it as system package to xmake-repo, like this
https://github.com/xmake-io/xmake-repo/blob/0e31570a2dd31f1f99e6fcebce278f9829b81b9a/packages/c/cuda/xmake.lua
OK. I will do it on the weekend
done