Skip to content

Commit 1066b1b

Browse files
authored
Add emscripten build targets for Linux on CircleCI 2.0. Closes GH-37 (#71)
1 parent 1f07247 commit 1066b1b

File tree

3 files changed

+44
-6
lines changed

3 files changed

+44
-6
lines changed

.circleci/config.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
version: 2
2+
jobs:
3+
build:
4+
docker:
5+
- image: buildpack-deps:xenial
6+
working_directory: ~/NetCraft
7+
steps:
8+
- checkout
9+
- run:
10+
name: Setup dependencies
11+
command: |
12+
apt update
13+
apt install -y cmake libglew-dev xorg-dev libcurl4-openssl-dev
14+
apt install -y libglfw3-dev
15+
mkdir native-build
16+
(cd native-build && cmake ..)
17+
# http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html#platform-notes-installation-instructions-portable-sdk
18+
apt install -y python2.7
19+
apt install -y nodejs
20+
apt install -y default-jre
21+
wget https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz
22+
tar xf emsdk-portable.tar.gz -C ~
23+
~/emsdk-portable/emsdk update
24+
~/emsdk-portable/emsdk install latest
25+
~/emsdk-portable/emsdk activate latest
26+
source ~/emsdk-portable/emsdk_env.sh
27+
mkdir release-build-js
28+
(cd release-build-js && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake ..)
29+
mkdir wasm-build
30+
(cd wasm-build && cmake -DWASM=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake ..)
31+
- run:
32+
name: native-build
33+
command: cd native-build && make
34+
- run:
35+
name: release-build-js
36+
command: cd release-build-js && source ~/emsdk-portable/emsdk_env.sh && make
37+
- run:
38+
name: wasm-build
39+
command: cd wasm-build && source ~/emsdk-portable/emsdk_env.sh && make

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,20 @@ else ()
6969
set(CURL_LIBRARIES "")
7070
endif ()
7171

72-
find_package(OpenGL REQUIRED)
73-
7472
if(APPLE OR EMSCRIPTEN)
7573
target_link_libraries(craft glfw
76-
${OPENGL_gl_LIBRARY}
7774
${GLFW_LIBRARIES} ${CURL_LIBRARIES})
7875
endif()
7976

8077
if(UNIX AND NOT EMSCRIPTEN)
78+
find_package(OpenGL REQUIRED)
8179
target_link_libraries(craft dl glfw
8280
${OPENGL_gl_LIBRARY}
8381
${GLFW_LIBRARIES} ${CURL_LIBRARIES})
8482
endif()
8583

8684
if(MINGW OR MSVC)
85+
find_package(OpenGL REQUIRED)
8786
target_link_libraries(craft ws2_32.lib glfw
8887
${OPENGL_gl_LIBRARY}
8988
${GLFW_LIBRARIES} ${CURL_LIBRARIES})

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ the installation:
102102

103103
brew install cmake
104104

105-
#### Linux (Ubuntu)
105+
#### Linux (Ubuntu 16.04.2 LTS)
106106

107-
sudo apt-get install cmake libglew-dev xorg-dev libcurl4-openssl-dev
108-
sudo apt-get build-dep glfw
107+
sudo apt install cmake libglew-dev xorg-dev libcurl4-openssl-dev
108+
sudo apt install libglfw3-dev
109109

110110
#### Windows
111111

0 commit comments

Comments
 (0)