SmartShape Engine
1. Build the engine
1.1. Prerequisites
- The following software are installed:
- Docker CE 17+
- Visual Studio 2017
- CMake
- Being logged on to GitLab's Container Registry to be able to pull the docker images (see this README)
- Clone the repository smartshape-engine
- Go into the root directory of smartshape-engine.
[email protected]
1.2. Build starting from1.2.1. Android
./script/build.sh android release
1.2.2. HTML5
./script/build.sh html5 release
1.2.3. Linux64
./script/build.sh linux64 release
1.2.4. Windows64
./script/build.sh windows64 release
If the final command (msbuild) fails, you might have to change the VCTargetsPath and add the path of msbuild.exe (for example "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin") to the PATH environment variable. To change the VCTargetsPath (for example):
SET VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets
1.2.5. More options
There are more ways to build the engine. Here is the detailed usage of the building script
Usage: ./script/build.sh <target> <build-type> [--cmake '<cmake-args>']
<target> The target platform of the build. Available targets are:
* android
* html5
* linux64
<build-type> The type of build to perform. Available types are:
* debug
* release
ENVIRONMENT VARIABLES
The following environment variables can customize the build:
MAKE_ARGS
Arguments to pass to the make program. Default value: -j8.
[email protected]
1.3. Build before1.3.1. Android
docker run -it --rm \
-v ${PWD}:${PWD} -w ${PWD} \
-v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
registry.aerys.in/aerys/smartshape-docker/android:{TAG} \
bash -c "
mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_EXAMPLES=OFF \
-DWITH_PLUGINS=ON \
-DWITH_NODEJS_WORKER=ON \
-DCMAKE_TOOLCHAIN_FILE=/opt/android-ndk-linux/build/cmake/android.toolchain.cmake
make
"
1.3.2. HTML5
docker run -it --rm \
-v ${PWD}:${PWD} -w ${PWD} \
-v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
registry.aerys.in/aerys/smartshape-docker/html5:{TAG} \
bash -c "
mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_EXAMPLES=OFF \
-DWITH_PLUGINS=ON \
-DCMAKE_TOOLCHAIN_FILE=/emsdk_portable/sdk/cmake/Modules/Platform/Emscripten.cmake
make
"
1.3.3. Linux64
docker run -it --rm \
-v ${PWD}:${PWD} -w ${PWD} \
-v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
registry.aerys.in/aerys/smartshape-docker/linux64:{TAG} \
bash -c "
mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_EXAMPLES=OFF \
-DWITH_PLUGINS=ON && \
make
"
2. Run
smartshape-engine doesn't have to be run. It is used by the other parts of SmartShape as a base.
3. Develop
When modifying the smartshape-engine code, you have to build the engine again once your modifications are done.
4. Contents
4.1 Framework
Sources for the Minko framework.
4.2 Example
Example applications created with the Minko framework and its plugins.
4.3 Template
This folder contains templates you can use to ease the development of the Minko framework, plugins or applications.
4.4 Plugin
Sources for Minko's plugins.
Available plugins are:
- angle
- assimp
- bullet
- debug
- devil
- fx
- html-overlay
- http-loader
- http-worker
- jpeg
- leap
- lua
- oculus
- offscreen
- particles
- png
- sdl
- sensors
- serializer
- video-camera
- vr
- zlib