Skip to content

Commit 2c22fc8

Browse files
Merge branch 'master' of github.com:intrepidcs/python_ics
2 parents b17b8af + b328467 commit 2c22fc8

26 files changed

Lines changed: 1392 additions & 690 deletions

build_libicsneo.py

Lines changed: 64 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,90 +4,105 @@
44
import shutil
55
import sys
66

7-
LIBICSNEO_COMMIT = '9ef93eb73e1ada72ccc7a571744b9db1a564f18b'
8-
LIBUSB_COMMIT = '4239bc3a50014b8e6a5a2a59df1fff3b7469543b'
7+
LIBICSNEO_COMMIT = "9ef93eb73e1ada72ccc7a571744b9db1a564f18b"
8+
LIBUSB_COMMIT = "4239bc3a50014b8e6a5a2a59df1fff3b7469543b"
99
CPUS = str(multiprocessing.cpu_count())
1010

1111

1212
def checkout():
13-
if not os.path.isdir('libicsneo'):
14-
subprocess.check_output(
15-
['git', 'clone', 'https://github.com/intrepidcs/libicsneo.git'])
16-
subprocess.check_output(
17-
['git', 'checkout', LIBICSNEO_COMMIT], cwd='libicsneo')
13+
if not os.path.isdir("libicsneo"):
14+
subprocess.check_output(["git", "clone", "https://github.com/intrepidcs/libicsneo.git"])
15+
subprocess.check_output(["git", "checkout", LIBICSNEO_COMMIT], cwd="libicsneo")
1816

19-
if not os.path.isdir('libusb') and sys.platform == 'darwin':
20-
subprocess.check_output(
21-
['git', 'clone', 'https://github.com/libusb/libusb.git'])
22-
subprocess.check_output(['git', 'checkout', LIBUSB_COMMIT], cwd='libusb')
17+
if not os.path.isdir("libusb") and sys.platform == "darwin":
18+
subprocess.check_output(["git", "clone", "https://github.com/libusb/libusb.git"])
19+
subprocess.check_output(["git", "checkout", LIBUSB_COMMIT], cwd="libusb")
2320

2421

2522
def _build_libusb():
26-
subprocess.check_output(['git', 'clean', '-xdf'], cwd='libusb')
23+
subprocess.check_output(["git", "clean", "-xdf"], cwd="libusb")
2724

28-
subprocess.check_output(['./bootstrap.sh'], cwd='libusb')
25+
subprocess.check_output(["./bootstrap.sh"], cwd="libusb")
2926

3027
env = os.environ.copy()
31-
env['CFLAGS'] = '-arch x86_64 -arch arm64 -mmacosx-version-min=10.13'
32-
env['CXXFLAGS'] = '-arch x86_64 -arch arm64 -mmacosx-version-min=10.13'
33-
subprocess.check_output(
34-
['./configure', '--disable-static', '--prefix=/tmp/libusb'], cwd='libusb', env=env)
28+
env["CFLAGS"] = "-arch x86_64 -arch arm64 -mmacosx-version-min=10.13"
29+
env["CXXFLAGS"] = "-arch x86_64 -arch arm64 -mmacosx-version-min=10.13"
30+
subprocess.check_output(["./configure", "--disable-static", "--prefix=/tmp/libusb"], cwd="libusb", env=env)
3531

36-
subprocess.check_output(['make', '-j' + CPUS], cwd='libusb')
37-
subprocess.check_output(['make', 'install'], cwd='libusb')
32+
subprocess.check_output(["make", "-j" + CPUS], cwd="libusb")
33+
subprocess.check_output(["make", "install"], cwd="libusb")
3834

3935

4036
def _build_icsneo_linux():
41-
subprocess.check_output(['git', 'clean', '-xdf'], cwd='libicsneo')
42-
subprocess.check_output(['mkdir', '-p', 'libicsneo/build'])
37+
subprocess.check_output(["git", "clean", "-xdf"], cwd="libicsneo")
38+
subprocess.check_output(["mkdir", "-p", "libicsneo/build"])
39+
40+
subprocess.check_output(
41+
["cmake", "..", "-DCMAKE_BUILD_TYPE=Release", "-DLIBICSNEO_BUILD_ICSNEOLEGACY=ON"], cwd="libicsneo/build"
42+
)
43+
subprocess.check_output(
44+
["cmake", "--build", ".", "--target", "icsneolegacy", "--parallel", CPUS], cwd="libicsneo/build"
45+
)
4346

44-
subprocess.check_output(['cmake', '..', '-DCMAKE_BUILD_TYPE=Release', '-DLIBICSNEO_BUILD_ICSNEOLEGACY=ON'], cwd='libicsneo/build')
45-
subprocess.check_output(['cmake', '--build', '.', '--target',
46-
'icsneolegacy', '--parallel', CPUS], cwd='libicsneo/build')
4747

4848
def _build_icsneo_macos():
49-
subprocess.check_output(['git', 'clean', '-xdf'], cwd='libicsneo')
50-
subprocess.check_output(['mkdir', '-p', 'libicsneo/build'])
49+
subprocess.check_output(["git", "clean", "-xdf"], cwd="libicsneo")
50+
subprocess.check_output(["mkdir", "-p", "libicsneo/build"])
5151

52-
subprocess.check_output(['cmake', '..', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64',
53-
'-DLIBICSNEO_BUILD_ICSNEOLEGACY=ON', '-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13',
54-
'-DLIBUSB_LIBRARIES=/tmp/libusb/lib/libusb-1.0.0.dylib',
55-
'-DLIBUSB_INCLUDE_DIR=/tmp/libusb/include/libusb-1.0'], cwd='libicsneo/build')
52+
subprocess.check_output(
53+
[
54+
"cmake",
55+
"..",
56+
"-DCMAKE_BUILD_TYPE=Release",
57+
"-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64",
58+
"-DLIBICSNEO_BUILD_ICSNEOLEGACY=ON",
59+
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13",
60+
"-DLIBUSB_LIBRARIES=/tmp/libusb/lib/libusb-1.0.0.dylib",
61+
"-DLIBUSB_INCLUDE_DIR=/tmp/libusb/include/libusb-1.0",
62+
],
63+
cwd="libicsneo/build",
64+
)
5665

57-
subprocess.check_output(['cmake', '--build', '.', '--target',
58-
'icsneolegacy', '--parallel', CPUS], cwd='libicsneo/build')
59-
subprocess.check_output(['install_name_tool', '-change', '/tmp/libusb/lib/libusb-1.0.0.dylib',
60-
'@loader_path/libusb-1.0.0.dylib', 'libicsneolegacy.dylib'], cwd='libicsneo/build')
66+
subprocess.check_output(
67+
["cmake", "--build", ".", "--target", "icsneolegacy", "--parallel", CPUS], cwd="libicsneo/build"
68+
)
69+
subprocess.check_output(
70+
[
71+
"install_name_tool",
72+
"-change",
73+
"/tmp/libusb/lib/libusb-1.0.0.dylib",
74+
"@loader_path/libusb-1.0.0.dylib",
75+
"libicsneolegacy.dylib",
76+
],
77+
cwd="libicsneo/build",
78+
)
6179

6280

6381
def build():
6482
print("Building libicsneo...")
65-
if sys.platform == 'darwin':
83+
if sys.platform == "darwin":
6684
_build_libusb()
6785
_build_icsneo_macos()
68-
elif sys.platform == 'linux':
86+
elif sys.platform == "linux":
6987
_build_icsneo_linux()
7088

7189

7290
def copy():
73-
if sys.platform == 'darwin':
74-
shutil.copyfile('/tmp/libusb/lib/libusb-1.0.0.dylib',
75-
'ics/libusb-1.0.0.dylib')
76-
shutil.copyfile('libicsneo/build/libicsneolegacy.dylib',
77-
'ics/libicsneolegacy.dylib')
78-
elif sys.platform == 'linux':
79-
shutil.copyfile('libicsneo/build/libicsneolegacy.so',
80-
'ics/libicsneolegacy.so')
91+
if sys.platform == "darwin":
92+
shutil.copyfile("/tmp/libusb/lib/libusb-1.0.0.dylib", "ics/libusb-1.0.0.dylib")
93+
shutil.copyfile("libicsneo/build/libicsneolegacy.dylib", "ics/libicsneolegacy.dylib")
94+
elif sys.platform == "linux":
95+
shutil.copyfile("libicsneo/build/libicsneolegacy.so", "ics/libicsneolegacy.so")
8196

8297

8398
def clean():
84-
shutil.rmtree('libicsneo')
85-
shutil.rmtree('libusb')
86-
shutil.rmtree('/tmp/libusb')
99+
shutil.rmtree("libicsneo")
100+
shutil.rmtree("libusb")
101+
shutil.rmtree("/tmp/libusb")
87102

88103

89-
if __name__ == '__main__':
90-
if '--clean' in sys.argv:
104+
if __name__ == "__main__":
105+
if "--clean" in sys.argv:
91106
clean()
92107
exit(0)
93108
checkout()

0 commit comments

Comments
 (0)