Open CASCADE Technology: Building with CMake and ADT for Android

| Open CASCADE Technology 6.9.1 |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Pages
Building with CMake and ADT for Android

This file describes the steps to build OCCT libraries from a complete source package with following tools:

- Generation of eclipse project files
  - CMake v3.0+ http://www.cmake.org/cmake/resources/software.html
  - Cross-compilation toolchain for CMake https://github.com/taka-no-me/android-cmake
  - Android NDK rev.10+ https://developer.android.com/tools/sdk/ndk/index.html
  - Make: MinGW v4.82+ for Windows, GNU Make vXX for Linux. http://sourceforge.net/projects/mingw/files/
- Building eclipse project files of OCCT
  - Android Developer Tools (ADT) v22+ https://developer.android.com/sdk/index.html

## Generation of eclipse project files

Run GUI tool provided by CMake: cmake-gui

### Tools configuration

- Specify the root folder of OCCT ($CASROOT, which contains CMakelists.txt file) by clicking Browse Source.
- Specify the location (build folder) for Cmake generated project files by clicking Browse Build.

Click Configure button. It opens the window with a drop-down list of generators supported by CMake project. -

Select "Eclipse CDT4 - MinGW MakeFiles" item from the list

- Choose "Specify toolchain file for cross-compiling"
- Click "Next"
- Specify the Toolchain file at next dialog by android.toolchain.cmake is contained by cross-compilation toolchain for CMake
- Click "Finish"

Add cache entry ANDROID_NDK - path (entry type is PATH) to the NDK folder ("Add Entry" button)

if there is message "CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool." Define CMAKE_MAKE_PROGRAM variable with the file path to mingw32-make executable.

### OCCT Configuration

How to configure OCCT, see "OCCT Configuration" section of Building with CMake taking into account the specific configuration variables for android:

- ANDROID_ABI = armeabi-v7a
- ANDROID_NATIVE_API_LEVEL = 15
- ANDROID_NDK_LAYOUT is equal to BUILD_CONFIGURATION variable
- CMAKE_ECLIPSE_VERSION is equal to installed eclipse version (e.g., 4.2)

Configure parallel building:

- CMAKE_ECLIPSE_MAKE_ARGUMENTS = -jN where N = your numbers of CPU cores (threads)

### Generation of eclipse projects files

Click Generate button and wait until the generation process is finished. Then the eclipse project files will appear in the build folder (e.g. D:/android-build-eclipse-api-15 ).

## Building eclipse project files of OCCT

- Open eclipse (downloaded ADT bundle contains it)
- Import "Existing project into Workspace"

- Build ALL

When the building process has finished, libraries are located in <build folder>/out (e.g. D:/android-build-eclipse-api-15/out ).