1.0.2 • Published 5 years ago

madeexameasy v1.0.2

Weekly downloads
4
License
ISC
Repository
-
Last release
5 years ago

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 and libmMapJni.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.