I am using the macports version of python on a Snow Leopard computer,
and using cmake to build a cross-platform extension to it.<br><br><pre style="margin-left: 40px;" class="prettyprint"><code><span class="pln">include</span><span class="pun">(</span><span class="typ">FindPythonInterp</span><span class="pun">)</span><span class="pln"><br>
include</span><span class="pun">(</span><span class="typ">FindPythonLibs</span><span class="pln">  </span><span class="pun">)</span><span class="pln"><br></span></code></pre><br>However, while cmake identified the correct interpreter in <code>/opt/local/bin</code>, it tries to link against the wrong framework - namely the system Python framework. <br>
<pre style="margin-left: 40px;" class="prettyprint"><code><span class="pun">--</span><span class="pln"> </span><span class="typ">Found</span><span class="pln"> </span><span class="typ">PythonInterp</span><span class="pun">:</span><span class="pln"> </span><span class="str">/opt/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">python2</span><span class="pun">.</span><span class="lit">6</span><span class="pln"><br>
</span><span class="pun">--</span><span class="pln"> </span><span class="typ">Found</span><span class="pln"> </span><span class="typ">PythonLibs</span><span class="pun">:</span><span class="pln"> </span><span class="pun">-</span><span class="pln">framework </span><span class="typ">Python</span><span class="pln"><br>
</span></code></pre><p>And this causes the following runtime error</p>

<pre style="margin-left: 40px;" class="prettyprint"><code><span class="typ">Fatal</span><span class="pln"> </span><span class="typ">Python</span><span class="pln"> error</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Interpreter</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> initialized </span><span class="pun">(</span><span class="pln">version mismatch</span><span class="pun">?)</span><span class="pln"><br>
</span></code></pre>

<p>As soon as I replace <code>-framework Python</code> with <code>/opt/local/Library/Frameworks/Python.framework/Python</code> things seem to work as expected. </p>

<p>How can I make cmake link against the correct Python framework found in </p>

<pre style="margin-left: 40px;" class="prettyprint"><code><span class="str">/opt/</span><span class="kwd">local</span><span class="pun">/</span><span class="typ">Library</span><span class="pun">/</span><span class="typ">Frameworks</span><span class="pun">/</span><span class="typ">Python</span><span class="pun">.</span><span class="pln">framework</span><span class="pun">/</span><span class="typ">Python</span><span class="pln"><br>
</span></code></pre>

<p>rather than the system one in </p>

<pre style="margin-left: 40px;" class="prettyprint"><code><span class="str">/System/</span><span class="typ">Library</span><span class="pun">/</span><span class="typ">Frameworks</span><span class="pun">/</span><span class="typ">Python</span><span class="pun">.</span><span class="pln">framework</span><span class="pun">/</span><span class="typ">Python</span><span class="pln"><br>
</span></code></pre>

<p>?</p>This question has also been posted on StackOverflow:<br><a href="http://stackoverflow.com/questions/1718251/finding-the-correct-python-framework-with-cmake">http://stackoverflow.com/questions/1718251/finding-the-correct-python-framework-with-cmake</a><br>