<div class="gmail_quote">On Tue, Feb 17, 2009 at 12:41 AM, Aaron Turner <span dir="ltr">&lt;<a href="mailto:synfinatic@gmail.com">synfinatic@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Mon, Feb 16, 2009 at 9:28 PM, Philip Lowman &lt;<a href="mailto:philip@yhbt.com">philip@yhbt.com</a>&gt; wrote:<br>
&gt; On Mon, Feb 16, 2009 at 10:23 PM, Aaron Turner &lt;<a href="mailto:synfinatic@gmail.com">synfinatic@gmail.com</a>&gt; wrote:<br>
</div>&gt;&gt; For now, i&#39;m just hacking around the issue with:<br><div class="Ih2E3d">
&gt;&gt;<br>
&gt;&gt; check_include_file(&quot;runetype.h&quot; &nbsp; &nbsp; HAVE_RUNETYPE_H)<br>
&gt;&gt; IF(APPLE AND HAVE_RUNETYPE_H)<br>
&gt;&gt; &nbsp; &nbsp;# OS X has wint_t, but check_type_size won&#39;t find it<br>
&gt;&gt; &nbsp; &nbsp;SET(HAVE_WINT_T 1)<br>
&gt;&gt; ELSE(APPLE AND HAVE_RUNETYPE_H)<br>
&gt;&gt; &nbsp; &nbsp;check_type_size(&quot;wint_t&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HAVE_WINT_T)<br>
&gt;&gt; ENDIF(APPLE AND HAVE_RUNTYPE_H)<br>
&gt;&gt;<br>
&gt;&gt; Long term, I&#39;m going to write my own version of check_symbol_exists<br>
&gt;&gt; which uses a different test which is define/typedef agnostic.<br>
&gt;<br>
&gt; Please consider submitting it via the bugtracker when you&#39;re done.<br>
<br>
</div>Will do. &nbsp;Honestly, I&#39;m a bit surprised this isn&#39;t already part of the<br>
basic Cmake library. &nbsp;Having to write try_compile() or try_run() tests<br>
for this sort of thing is just silly- especially since you can&#39;t<br>
inline the source code like in Autoconf.</blockquote><div><br>Not sure on the check_symbol_exists issue.<br><br>You should be able to inline source code in your CMakeLists.txt.&nbsp; Here&#39;s an example I wrote for OpenSceneGraph:<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INCLUDE(CheckCXXSourceCompiles)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET(CMAKE_REQUIRED_DEFINITIONS -DGLU_TESS_CALLBACK_TRIPLEDOT)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include ${GLUT_INCLUDE_DIR} ${GL_INCLUDE_DIR})<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET(CMAKE_REQUIRED_LIBRARIES ${GLUT_LIBRARY} ${GL_LIBRARY})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CHECK_CXX_SOURCE_COMPILES(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;#include &lt;osg/GL&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;osg/GLU&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void testcb(GLvoid *, void*) { }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int main() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GLUtesselator *t = gluNewTess();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gluTessCallback(t, GLU_TESS_VERTEX_DATA, (GLU_TESS_CALLBACK) testcb);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET(DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No})<br></div></div><br clear="all"><br>-- <br>Philip Lowman<br>