Hey Folks,<br><br>I&#39;m new to cmake and am in the process of converting a Linux based project over to use it.&nbsp; The project I&#39;m converting includes a lot of Matlab mex extensions.&nbsp; I&#39;ve done a good deal of internet research (both archives of this list and Google) and I&#39;ve yet to really garner a good sense of the best way to approach this.<br>
<br>For the uninitiated, Matlab mex extensions are snippets of C compiled against some headers and libraries provided by Matlab to produce a loadable shared library.&nbsp; Compilation of these extensions can be kicked off by either running commands within Matlab (forget it!) or via an external shell script that behaves somewhat like gcc.&nbsp; They do some fairly weird stuff (they give the loadable libraries platform based filename extensions, among other things.)&nbsp; Some more adventurous folks appear to have reverse engineered this shell script and have implemented it in cmake, but that seems like a lot of work.&nbsp; So a few quick questions:<br>
<br>1) If there&#39;s anyone out there with Matlab mex inside CMake builds experience, what is the best route for implementing this?&nbsp; Hacking the functionality of mex.sh into a CMake script or configuring CMake to run mex.sh to do the compilation?<br>
<br>2) Suppose I wanted to go ahead and use mex.sh?&nbsp; I suspect I&#39;d need to use ADD_CUSTOM_TARGET and ADD_CUSTOM_COMMAND, but I&#39;ve been unsuccessful as of yet to get them to do much....&nbsp;&nbsp; (here&#39;s a quick excerpt of what I&#39;ve tried, it prints &quot;foo built&quot; but AFAIK nothing is happening)&nbsp; Can someone help steer me in the right direction on this?<br>
<br>ADD_CUSTOM_COMMAND( <br>&nbsp;&nbsp;&nbsp; OUTPUT&nbsp;&nbsp;&nbsp; foo.mexa64 <br>&nbsp;&nbsp;&nbsp; COMMAND&nbsp;&nbsp; mex <br>&nbsp;&nbsp;&nbsp; ARGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${CMAKE_CURRENT_SOURCE_DIR}/foo.c<br>&nbsp;&nbsp;&nbsp; DEPENDS&nbsp;&nbsp; ${CMAKE_CURRENT_SOURCE_DIR}/foo.c<br>&nbsp;&nbsp;&nbsp; COMMENT&nbsp;&nbsp; &quot;get_analog_state&quot;<br>
&nbsp; )<br><br>ADD_CUSTOM_TARGET(foo ALL echo<br>&nbsp;&nbsp;&nbsp; DEPENDS&nbsp;&nbsp; ${CMAKE_CURRENT_SOURCE_DIR}/foo.c<br>&nbsp; )<br><br>Thanks in advance for any help!<br><br>--adam<br><br><br><br>