Skip to content

Commit 8368729

Browse files
committed
Merge pull request #94 from juj/win_build
Add support for building on Windows.
2 parents f84e317 + 2713c4e commit 8368729

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

make.py

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,24 +95,37 @@ def stage(text):
9595
emscripten.Building.emcc('glue.cpp', args, 'glue.bc')
9696
assert(os.path.exists('glue.bc'))
9797

98-
if not os.path.exists('config.h'):
99-
stage('Configure (if this fails, run autogen.sh in bullet/ first)')
100-
101-
emscripten.Building.configure(['../configure', '--disable-demos','--disable-dependency-tracking'])
98+
# Configure with CMake on Windows, and with configure on Unix.
99+
cmake_build = emscripten.WINDOWS
100+
101+
if cmake_build:
102+
if not os.path.exists('CMakeCache.txt'):
103+
stage('Configure via CMake')
104+
emscripten.Building.configure([emscripten.PYTHON, os.path.join(EMSCRIPTEN_ROOT, 'emcmake'), 'cmake', '..', '-DBUILD_DEMOS=OFF', '-DBUILD_EXTRAS=OFF', '-DBUILD_CPU_DEMOS=OFF', '-DUSE_GLUT=OFF', '-DCMAKE_BUILD_TYPE=Release'])
105+
else:
106+
if not os.path.exists('config.h'):
107+
stage('Configure (if this fails, run autogen.sh in bullet/ first)')
108+
emscripten.Building.configure(['../configure', '--disable-demos','--disable-dependency-tracking'])
102109

103110
stage('Make')
104111

105-
emscripten.Building.make(['make', '-j'])
112+
if emscripten.WINDOWS:
113+
emscripten.Building.make(['mingw32-make', '-j'])
114+
else:
115+
emscripten.Building.make(['make', '-j'])
106116

107117
stage('Link')
108118

109-
emscripten.Building.link([
110-
'glue.bc',
111-
os.path.join('src', '.libs', 'libBulletDynamics.a'),
112-
os.path.join('src', '.libs', 'libBulletCollision.a'),
113-
os.path.join('src', '.libs', 'libLinearMath.a')
114-
],
115-
'libbullet.bc')
119+
if cmake_build:
120+
bullet_libs = [os.path.join('src', 'BulletDynamics', 'libBulletDynamics.a'),
121+
os.path.join('src', 'BulletCollision', 'libBulletCollision.a'),
122+
os.path.join('src', 'LinearMath', 'libLinearMath.a')]
123+
else:
124+
bullet_libs = [os.path.join('src', '.libs', 'libBulletDynamics.a'),
125+
os.path.join('src', '.libs', 'libBulletCollision.a'),
126+
os.path.join('src', '.libs', 'libLinearMath.a')]
127+
128+
emscripten.Building.link(['glue.bc'] + bullet_libs, 'libbullet.bc')
116129
assert os.path.exists('libbullet.bc')
117130

118131
stage('emcc: ' + ' '.join(emcc_args))

0 commit comments

Comments
 (0)