File tree Expand file tree Collapse file tree 5 files changed +96
-1
lines changed Expand file tree Collapse file tree 5 files changed +96
-1
lines changed Original file line number Diff line number Diff line change
1
+ # Conda recipes for TEASER++
2
+
3
+ This directory contains recipes for building conda packages
4
+ for TEASER++.
5
+
6
+ Ideally, someone will eventually [ set up a conda-forge feedstock] ( https://conda-forge.org/docs/maintainer/adding_pkgs.html )
7
+ so that users will be able to install from [ conda-forge] ( https://conda-forge.org/#about ) .
8
+
9
+ In the meantime, you can use these recipes to build the package for inclusion in privately maintained
10
+ conda repositories.
11
+
12
+ Currently, there is only a recipe for ` teaserpp-python ` , which provides a minimal python binding
13
+ (e.g. no header files, only the shared libraries needed at runtime).
14
+
15
+ To build this, run this command from this directory on each platform you want to support:
16
+
17
+ ```
18
+ conda build teaserpp-python
19
+ ```
20
+
21
+ This will build versions of the package for multiple python versions (currently 3.6 through 3.9).
22
+ You can build a restricted set of python versions by specifying the ` --variants ` flag:
23
+
24
+ ```
25
+ conda build --variants '{"python" : ["3.7", "3.8"]}' teaserpp-python'
26
+ ```
27
+
28
+ This recipe has been run on linux and macos. To run on Windows, someone will need to
29
+ add a ` build.bat ` file corresponding to ` build.sh ` , and it is possible that some other
30
+ tweaks may be required if there are dependency differences on Windows.
31
+
32
+
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -x
3
+ echo $PATH
4
+ cd $SRC_DIR
5
+ mkdir build
6
+ cd build
7
+ cmake \
8
+ -DTEASERPP_PYTHON_VERSION=${PY_VER} \
9
+ -DPython3_EXECUTABLE=${PYTHON} \
10
+ -DCMAKE_INSTALL_LIBDIR=lib \
11
+ -DCMAKE_INSTALL_PREFIX=${PREFIX} \
12
+ -DLLVM_TOOLS_BINARY_DIR=${PREFIX} /bin \
13
+ ..
14
+ make teaserpp_python
15
+ # make install does too much. We only need the regisration library.
16
+ cp pmc-build/libpmc.* ${PREFIX} /lib
17
+ cp teaser/libteaser_registration.* ${PREFIX} /lib
18
+ cd python
19
+ ${PYTHON} -m pip install .
Original file line number Diff line number Diff line change
1
+ python :
2
+ - 3.6
3
+ - 3.7
4
+ - 3.8
Original file line number Diff line number Diff line change
1
+ package :
2
+ name : teaserpp-python
3
+ version : 2.0.1
4
+
5
+ source :
6
+ - path : ../../cmake
7
+ folder : cmake
8
+ - path : ../../python
9
+ folder : python
10
+ - path : ../../teaser
11
+ folder : teaser
12
+ - path : ../../doc
13
+ folder : doc
14
+ - path : ../../test
15
+ folder : test
16
+ - path : ../../CMakeLists.txt
17
+
18
+ # TODO build for different python versions
19
+ # TODO try without llvm-openmp
20
+
21
+ requirements :
22
+ build :
23
+ - boost
24
+ - python {{ python }}
25
+ - setuptools
26
+ - cmake
27
+ - make
28
+ - eigen
29
+ - {{ compiler('c') }}
30
+ - {{ compiler('cxx') }}
31
+ - llvm-openmp
32
+ host :
33
+ - python {{ python }}
34
+ run :
35
+ - python {{ python }}
36
+
37
+ about :
38
+ home : https://github.com/MIT-SPARK/TEASER-plusplus
39
+ license : GPL3
40
+ summary : Python binding for TEASER++
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ target_link_libraries(teaserpp_python PUBLIC teaser_registration)
19
19
# fix for clang
20
20
# see: https://github.com/pybind/pybind11/issues/1818
21
21
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
22
- target_compile_options (teaserpp_python PUBLIC -fsized -deallocation)
22
+ target_compile_options (teaserpp_python PUBLIC -fno-sized -deallocation)
23
23
endif ()
24
24
25
25
# make sure to output the build file to teaserpp_python folder
You can’t perform that action at this time.
0 commit comments