diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74a4994ea275cb7cd5b17bbb469aa345e80cbce6..4f50b14233d566c2018c8d158b40d1a82361d468 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -506,19 +506,6 @@ if(ENABLE_BUILD_IOS)
   endif(NOT CMAKE_TOOLCHAIN_FILE)
 endif(ENABLE_BUILD_IOS)
 
-if(ENABLE_BUILD_ANDROID)
-  find_file(CMAKE_TOOLCHAIN_FILE "android.toolchain.cmake")
-  if(NOT CMAKE_TOOLCHAIN_FILE)
-    message(FATAL_ERROR "Cannot compile Gmsh for android without android-cmake")
-  endif(NOT CMAKE_TOOLCHAIN_FILE)
-  set(CMAKE_BUILD_TYPE Release)
-  set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_CURRENT_BINARY_DIR})
-  set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/libs/)
-  add_library(androidGmsh SHARED ${GMSH_SRC})
-  set_target_properties(androidGmsh PROPERTIES OUTPUT_NAME Gmsh)
-  target_link_libraries(androidGmsh ${EXTERNAL_LIBRARIES})
-endif(ENABLE_BUILD_ANDROID)
-
 if(HAVE_FLTK OR HAVE_QT OR ENABLE_GRAPHICS)
   if(NOT HAVE_MESH OR NOT HAVE_POST OR NOT HAVE_PLUGINS OR NOT HAVE_ONELAB)
     message(SEND_ERROR "Cannot compile GUI without Mesh, Post, Plugin and ONELAB")
@@ -1290,6 +1277,20 @@ if(ENABLE_BUILD_LIB)
   endif(MSVC)
 endif(ENABLE_BUILD_LIB)
 
+if(ENABLE_BUILD_ANDROID)
+  find_file(CMAKE_TOOLCHAIN_FILE "android.toolchain.cmake")
+  if(NOT CMAKE_TOOLCHAIN_FILE)
+    message(FATAL_ERROR "Cannot compile Gmsh for android without android-cmake")
+  endif(NOT CMAKE_TOOLCHAIN_FILE)
+  set(CMAKE_BUILD_TYPE Release)
+  set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_CURRENT_BINARY_DIR})
+  set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/libs/)
+  add_definitions(-DBUILD_ANDROID)
+  add_library(androidGmsh SHARED ${GMSH_SRC})
+  set_target_properties(androidGmsh PROPERTIES OUTPUT_NAME Gmsh)
+  target_link_libraries(androidGmsh ${EXTERNAL_LIBRARIES})
+endif(ENABLE_BUILD_ANDROID)
+
 # shared library target
 if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR 
    ENABLE_WRAP_PYTHON OR ENABLE_WRAP_JAVA)