/
setup.py
67 lines (62 loc) · 2.22 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
# SPDX-License-Identifier: BSD-3-Clause
import os
import sys
from pathlib import Path
import cmake_build_extension
from setuptools import setup
if (Path(".") / "CMakeLists.txt").exists():
# Install from sdist
source_dir = str(Path(".").absolute())
else:
# Install from sources or build wheel
source_dir = str(Path(".").absolute().parent.parent)
if "CIBUILDWHEEL" in os.environ and os.environ["CIBUILDWHEEL"] == "1":
CIBW_CMAKE_OPTIONS = ["-DCMAKE_INSTALL_LIBDIR=lib"]
else:
CIBW_CMAKE_OPTIONS = []
setup(
cmdclass=dict(
build_ext=cmake_build_extension.BuildExtension,
sdist=cmake_build_extension.GitSdistFolder,
),
ext_modules=[
cmake_build_extension.CMakeExtension(
name="CMakeProject",
install_prefix="yarp",
expose_binaries=[
"bin/yarp",
"bin/yarp-config",
"bin/yarpdatadumper",
"bin/yarpdev",
"bin/yarphear",
"bin/yarpidl_rosmsg",
"bin/yarpidl_thrift",
"bin/yarpmanager-console",
"bin/yarprobotinterface",
"bin/yarpros",
"bin/yarprun",
"bin/yarpserver",
],
disable_editable=True,
cmake_depends_on=["ycm_cmake_modules"],
write_top_level_init="from .bindings.yarp import *",
source_dir=source_dir,
cmake_configure_options=[
f"-DPython3_EXECUTABLE:PATH={sys.executable}",
"-DCMAKE_BUILD_TYPE=Release",
"-DBUILD_SHARED_LIBS:BOOL=OFF",
"-DYARP_COMPILE_BINDINGS:BOOL=ON",
"-DCREATE_PYTHON:BOOL=ON",
"-DCMAKE_INSTALL_PYTHON3DIR:PATH='bindings/'",
"-DYARP_COMPILE_EXAMPLES:BOOL=OFF",
"-DYARP_COMPILE_GUIS:BOOL=OFF",
"-DYARP_COMPILE_TESTS:BOOL=OFF",
"-DYARP_COMPILE_UNMAINTAINED:BOOL=OFF",
"-DYARP_COMPILE_libYARP_math:BOOL=ON",
"-DYARP_PYTHON_PIP_METADATA_INSTALL:BOOL=OFF".
]
+ CIBW_CMAKE_OPTIONS,
)
],
)