-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.py
52 lines (49 loc) · 1.75 KB
/
build.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
import os
def do_os(cmd):
b = os.system(cmd)
if b != 0:
exit(1)
do_os('rm -rf include')
do_os('rm -rf lib')
do_os('mkdir include')
do_os('mkdir lib')
print 'download mongo-c' #mongo-c-driver-1.14.0.tar.gz
do_os("wget https://github.com/mongodb/mongo-c-driver/releases/download/1.14.0/mongo-c-driver-1.14.0.tar.gz")
print 'build mongoc'
do_os('tar xvf mongo-c-driver-1.14.0.tar.gz')
do_os('mkdir build_mongoc')
os.chdir('./build_mongoc')
if os.name == "nt":
p = os.getcwd()
do_os('cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=%s\\..\\mongo-c-driver" "-DCMAKE_PREFIX_PATH=%s\\..\\mongo-c-driver" ..\\mongo-c-driver-1.14.0'%(p,p))
do_os('devenv mongo-c-driver.sln /Build "RelWithDebInfo|x64"')
do_os('devenv mongo-c-driver.sln /Build "RelWithDebInfo|x64" /project INSTALL')
os.chdir('../')
do_os('mv mongo-c-driver/include/libmongoc-1.0/mongoc include/')
do_os('mv mongo-c-driver/include/libbson-1.0/bson include/')
do_os('mv mongo-c-driver/lib/* lib/')
do_os('mv mongo-c-driver/bin/* lib/')
do_os('rm -rf mongo-c-driver')
do_os('rm -rf build_mongoc')
else:
p = os.getcwd()
do_os('cmake "-DCMAKE_INSTALL_PREFIX=%s/../mongo-c-driver" "-DCMAKE_PREFIX_PATH=%s/../mongo-c-driver" "-DCMAKE_BUILD_TYPE=Release" ../mongo-c-driver-1.14.0'%(p,p))
do_os('make install')
os.chdir('../')
do_os('mv mongo-c-driver/include/libmongoc-1.0/mongoc include/')
do_os('mv mongo-c-driver/include/libbson-1.0/bson include/')
try:
do_os('mv mongo-c-driver/lib/* lib/')
except:
pass
try:
do_os('mv mongo-c-driver/lib64/* lib/')
except:
pass
do_os('mv mongo-c-driver/bin/* lib/')
do_os('rm -rf mongo-c-driver')
do_os('rm -rf build_mongoc')
do_os('rm -rf mongo-c-driver-1.14.0')
do_os('rm -rf mongo-c-driver-1.14.0.tar.gz')
do_os("echo 0.1 > done")
print 'done'