madeexameasy v1.0.2
mMap SDK - Git Repository
This the mMap SDK git repository.
Get the binaries
To get the binaries, go to the mMap SDK Drop Page of the SDK. There you can get the binaries generated from the current working-on code (trunk) or a gold release named with the convention mMap SDK YYYY.MM.
Documentation
Access to the documentation to learn how to use the SDK.
Get the code
This repository contains the mMap source code. Use master if you want to get the current working-on branch. Notice that mentioned code may not be stable enough.
Report a bug
Report them in task.myvr.net under the mMap SDK project. If you need an account to to it, please let us know sending an email to support@myvr-software.com
Clone the repository
You can use the http URL or the ssh one. In the second case, you may want to have an SSH-key copied in GitLab to not be asked when you access to it. For that case, you need to create an SSH-Key in your machine and ADD it under under Profile Settings -> SSH Keys.
How to Build
We use CMake to build mMap. On some platforms there might be additional tools needed like gradle for Android and XCode for iOS.
The following examples expects following directory structure:
Windows
In the myVR folder make an empty build directory inside the myVR directory.
- Start cmake-gui.
- Point the "Where is the source code:" line edit to myVR/mMap.
- Create directory under myVR called "build" or whatever you like
- Point the "Where to build the binaries: " to the build directory under myVR, ie. myVR/build.
- Press the Configure button in bottom left corner.
- Select the Visual Studio version you want to use (2017).
- Press the "Finish" button. Wait for the console at the bottom of the GUI to complete.
- Now press the Generate button next to the configure button
- With explorer find the mMap.sln file in your build directory and start Visual Studio by double clicking it.
- Choose Debug or Release and build.
Windows UWP
Please note: CMake needs to know that you want a "Unviersial Windows" visual studio projects at configuration time. This means these variables need to be defined when pressing the "Configure" button in cmake-gui.
To compile with UWP sdk 10.0.14393.0 use the -DUWP=1 option to cmake,
ie.:
cmake -G"Visual Studio 14 2015 Win64" -DUWP=1 ..
Or to use the latest available version define the default cmake options:
ie.:
cmake -G"Visual Studio 14 2015 Win64" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 ..
Linux
mkdir cmake_x64
cd cmake_x64
cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -DCPU=64 ..
make install -j9
iOS
mkdir build_ios
cd build_ios
cmake -DIOS=1 -GXcode ..
open the build_ios/mMap.xcodeproj
Android
To debug the Android demo in Android Studio, open Android Studio, click "File" and then
"Open" and select the directory <mMap dir>/Platforms/Android
. This will open the main
Android project with its modules. Select the module mMapDemoDebuggable
as run target in
Android Studio and run in debug mode (shift
+ F9
).
The default architecture for debugging is armeabi-v7a
. To change this, find the line
containing ANDROID_ARCH_ABIS
in the build.gradle
file for mMapDemoDebuggable
and
change it to use the architecture(s) you want. Note that Android Studio wants you to sync
the project after doing this. After the sync you can debug with the new architecure(s).
To build mMap you must build one or more of the various modules. The modules to build are:
- mMapNative: Builds the C++ code into so files.
- mMap: Creates an aar library with
libmMap.so
from mMapNative. - mMapJni: Creates an aar library with
libmMap.so
andlibmMapJni.so
from mMapNative. - mMapDemo: Creates an apk containing
libmMap.so
,libmMapJni.so
and the Android code it needs to run.
To build the various modules the gradle wrapper script gradlew
must be used:
./gradlew :mMapNative:assembleRelease
./gradlew :mMap:assembleRelease
./gradlew :mMapJni:assembleRelease
./gradlew :mMapDemo:assembleRelease
Note that running for example ./gradlew :mMapDemo:assembleRelease
will also build
mMapNative and mMapJni behind the scenes since the demo depends on it.
There are various parameters that can be configured on the command line. Most of them are
shown in <mMap dir>/Platforms/Android/shared/gradle/android_config.gradle
. The most notable
parameter to give to gradlew
is Pabis=<list of architectures>
(e.g.
-Pabis=armeabi-v7a,arm64-v8a,x86,x86_64
to build all architectures). Otherwise there are
parameters to configure minimum and maximum Android SDK versions, but normally the default
values should work just fine.
To build and run FreeViewer, open the <mMap dir>/SDK/samples/FreeViewer/Android
directory
in Android studio and you can run the freeViewerDebuggable
module in the same way as the
mMapDemoDebuggable
for the main Android project.
WebGL
Install git bash (https://git-scm.com/downloads) Install binary version of emscripten (nonspace path, no 'Program Files' shenanigans) >emsdk activate latest --global Install ninja (https://ninja-build.org/) make a new build directory open git bash in the new folder >cmake -DCMAKE_TOOLCHAIN_FILE="${EMSCRIPTEN}"/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Release -GNinja .. >ninja install a http server npm install http-server -g (for instance) start http-server in SDK/samples/WebGL/Demo
.NET
To Build mMap for DotNet, download the repository and from the mMap directory run:
mkdir build_dotnet
cd build_dotnet
cmake -G"Visual Studio 15 2017" -DENABLE_SHARED="ON" ..
and open the build_dotnet/mMap.sln, and build the DotNetLibs/mMapClassLibrary project.
If you are using the cmake GUI:
- where is the source: your mMap directory.
- where to build the binaries: make a build folder in the mMap directory.
- Configure - specify the generator you wish to use, for example Visual Studio 15 2017.
- Check ENABLE_SHARED to the already selected values after Configure has run and then Generate.
- Open Project and build the DotNetLibs/mMapClassLibrary project.