[yt-svn] commit/yt: atmyers: Merged in atmyers/yt (pull request #2057)
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Sun Mar 27 14:47:08 PDT 2016
1 new commit in yt:
https://bitbucket.org/yt_analysis/yt/commits/be993079427c/
Changeset: be993079427c
Branch: yt
User: atmyers
Date: 2016-03-27 21:47:01+00:00
Summary: Merged in atmyers/yt (pull request #2057)
Improve the unstructured mesh rendering build process.
Affected #: 2 files
diff -r 5a08905d2e438f08244ca4819d523f62dfc4e86d -r be993079427c300e09b4b6430e3c8d90af0c3500 doc/source/visualizing/unstructured_mesh_rendering.rst
--- a/doc/source/visualizing/unstructured_mesh_rendering.rst
+++ b/doc/source/visualizing/unstructured_mesh_rendering.rst
@@ -14,7 +14,7 @@
.. code-block:: bash
- conda install -c http://use.yt/with_conda/ yt=3.3_dev
+ conda install -c http://use.yt/with_conda/ yt
If you want to install from source, you can use the ``get_yt.sh`` script.
Be sure to set the INST_YT_SOURCE and INST_UNSTRUCTURED flags to 1 at the
@@ -73,7 +73,13 @@
as usual. Finally, if you create a file called embree.cfg in the yt-hg directory with
the location of the embree installation, the setup script will find this and use it,
-provided EMBREE_DIR is not set. We recommend one of the later two methods, especially
+provided EMBREE_DIR is not set. An example embree.cfg file could like this:
+
+.. code-block:: bash
+
+ /opt/local/
+
+We recommend one of the later two methods, especially
if you plan on re-compiling the cython extensions regularly. Note that none of this is
neccessary if you installed embree into a location that is in your default path, such
as /usr/local.
diff -r 5a08905d2e438f08244ca4819d523f62dfc4e86d -r be993079427c300e09b4b6430e3c8d90af0c3500 setupext.py
--- a/setupext.py
+++ b/setupext.py
@@ -76,17 +76,58 @@
'''
rd = os.environ.get('EMBREE_DIR')
- if rd is not None:
- return rd
- print("EMBREE_DIR not set. Attempting to read embree.cfg")
+ if rd is None:
+ try:
+ rd = open("embree.cfg").read().strip()
+ except IOError:
+ rd = '/usr/local'
+
+ fail_msg = ("Pyembree is installed, but I could not compile Embree test code. \n"
+ "I attempted to find Embree headers in %s. \n"
+ "If this is not correct, please set your correct embree location \n"
+ "using EMBREE_DIR environment variable or your embree.cfg file. \n"
+ "Please see http://yt-project.org/docs/dev/visualizing/unstructured_mesh_rendering.html "
+ "for more information." % rd)
+
+ # Create a temporary directory
+ tmpdir = tempfile.mkdtemp()
+ curdir = os.getcwd()
+
try:
- rd = open("embree.cfg").read().strip()
- return rd
- except IOError:
- print("Reading Embree location from embree.cfg failed.")
- print("If compilation fails, please place the base directory")
- print("of your Embree install in embree.cfg and restart.")
- return '/usr/local'
+ os.chdir(tmpdir)
+
+ # Get compiler invocation
+ compiler = os.getenv('CXX', 'c++')
+ compiler = compiler.split(' ')
+
+ # Attempt to compile a test script.
+ filename = r'test.cpp'
+ file = open(filename, 'wt', 1)
+ file.write(
+ '#include "embree2/rtcore.h"\n'
+ 'int main() {\n'
+ 'return 0;\n'
+ '}'
+ )
+ file.flush()
+ with open(os.devnull, 'w') as fnull:
+ exit_code = subprocess.call(compiler + ['-I%s/include/' % rd, filename],
+ stdout=fnull, stderr=fnull)
+
+ # Clean up
+ file.close()
+
+ except OSError:
+ print(fail_msg)
+
+ finally:
+ os.chdir(curdir)
+ shutil.rmtree(tmpdir)
+
+ if exit_code != 0:
+ print(fail_msg)
+
+ return rd
def get_mercurial_changeset_id(target_dir):
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-svn-spacepope.org/attachments/20160327/f6df02cb/attachment.htm>
More information about the yt-svn
mailing list