Changed GLES2/gl2.h to GLES3/gl3.h. OpenGl_Window_1.mm has been updated, now it is trying to create kEAGLRenderingAPIOpenGLES3 before trying to create kEAGLRenderingAPIOpenGLES2.
3.8 KiB
Building with CMake for Android
@tableofcontents
This article describes the steps to build OCCT libraries for Android from a complete source package with GNU make (makefiles) on Windows 7 and Ubuntu 15.10.
The steps on Windows and Ubuntu are similar. There is the only one difference: makefiles are built with mingw32-make on Windows and native GNU make on Ubuntu.
Required tools (download and install if it is required):
- CMake v3.7+ https://www.cmake.org/cmake/resources/software.html
- Android NDK rev.10+ https://developer.android.com/tools/sdk/ndk/index.html
- GNU Make: MinGW v4.82+ for Windows (https://sourceforge.net/projects/mingw/files/), GNU Make 4.0 for Ubuntu.
Prerequisites
In toolchain file $CASROOT/adm/templates/android.toolchain.config.cmake:
- Set CMAKE_ANDROID_NDK variable equal to your Android NDK path.
- Set CMAKE_ANDROID_STL_TYPE variable to specify which C++ standard library to use.
The default value of CMAKE_ANDROID_STL_TYPE is gnustl_shared (GNU libstdc++ Shared)
@figure{/dev_guides/building/android/images/android_image001.png}
Generation of makefiles using CMake GUI tool
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.
@figure{/dev_guides/building/android/images/android_image002.png}
Click Configure button. It opens the window with a drop-down list of generators supported by CMake project.
Select "MinGW Makefiles" item from the list
- Choose "Specify toolchain file for cross-compiling"
- Click "Next"
@figure{/dev_guides/building/android/images/android_image003.png}
- Specify a toolchain file at the next dialog by android.toolchain.config.cmake . It is contained by cross-compilation toolchain for CMake
- Click "Finish" @figure{/dev_guides/building/android/images/android_image004.png}
If on Windows the message is appeared: "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.", specify CMAKE_MAKE_PROGRAM to mingw32-make executable. @figure{/dev_guides/building/android/images/android_image005.png}
OCCT Configuration
How to configure OCCT, see "OCCT Configuration" section of @ref occt_dev_guides__building_cmake "Building with CMake"
Generation of makefiles
Click Generate button and wait until the generation process is finished. Then makefiles will appear in the build folder (e.g. D:/occt/build-android ).
Generation of makefiles using CMake from the command line
Alternatively one may specify the values without a toolchain file:
cmake -G "MinGW Makefiles" -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_NDK=D:/DevTools/android-ndk-r13b -DCMAKE_ANDROID_STL_TYPE=gnustl_shared -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_MAKE_PROGRAM=D:/DevTools/MinGW/bin/mingw32-make.exe -D3RDPARTY_DIR=D:/occt-3rdparty D:/occt
@figure{/dev_guides/building/android/images/android_image006.png}
Building makefiles of OCCT
Open console and go to the build folder. Type "mingw32-make" (Windows) or "make" (Ubuntu) to start build process.
mingw32-make or make
Parallel building can be started with using "-jN" argument of "mingw32-make/make", where N is the number of building threads.
mingw32-make -j4 or make -j4
Install built OCCT libraries
Type "mingw32-make/make" with argument "install" to place the libraries to the install folder (see "OCCT Configuration" section of @ref occt_dev_guides__building_cmake "Building with CMake")
mingw32-make install or make install