From bbb272ef03f712fa7be41a096bd99b66888b3a71 Mon Sep 17 00:00:00 2001 From: Maxime Graulich <maxime.graulich@gmail.com> Date: Fri, 10 May 2013 14:36:27 +0000 Subject: [PATCH] Fix BLAS and LAPACK for Android --- CMakeLists.txt | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ccbec4b74e..6a9066c204 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -293,8 +293,16 @@ if(ENABLE_BLAS_LAPACK) set_config_option(HAVE_LAPACK "Lapack(VecLib)") endif(MSVC) if(BUILD_ANDROID) - set_config_option(HAVE_BLAS "Blas") - set_config_option(HAVE_LAPACK "Lapack") + find_library(BLAS_LIB f2cblas PATH_SUFFIXES lib) + find_library(LAPACK_LIB f2clapack PATH_SUFFIXES lib) + if(BLAS_LIB) + list(APPEND EXTERNAL_LIBRARIES ${BLAS_LIB}) + set_config_option(HAVE_BLAS "Blas") + endif(BLAS_LIB) + if(LAPACK_LIB) + list(APPEND EXTERNAL_LIBRARIES ${LAPACK_LIB}) + set_config_option(HAVE_LAPACK "Lapack") + endif(LAPACK_LIB) endif(BUILD_ANDROID) if(NOT HAVE_BLAS OR NOT HAVE_LAPACK) # if we haven't found blas and lapack without using the standard @@ -443,27 +451,16 @@ if(ENABLE_BUILD_IOS) endif(ENABLE_BUILD_IOS) if(ENABLE_BUILD_ANDROID) - # we need getdp lib - #find_library(GETDP_LIB Gmsh PATH_SUFFIXES lib) - #find_path(GETDP_INC "GetDP.h" PATH_SUFFIXES include getdp include/getdp) - #if(GETDP_LIB AND GETDP_INC) - # list(APPEND EXTERNAL_LIBRARIES ${GETDP_LIB}) - # list(APPEND EXTERNAL_INCLUDES ${GETDP_INC}) - # set_config_option(HAVE_GETDP "GetDP") - #else(GETDP_LIB AND GETDP_INC) - # message(SEND_ERROR "Cannot compile Gmsh for Android without GetDP") - #endif(GETDP_LIB AND GETDP_INC) - # then we can make gmsh lib + find_file(CMAKE_TOOLCHAIN_FILE "android.toolchain.cmake") + if(NOT CMAKE_TOOLCHAIN_FILE) + message(SEND_ERROR "Cannot compile Gmsh for android without android-cmake") + endif(NOT CMAKE_TOOLCHAIN_FILE) set(CMAKE_BUILD_TYPE Release) - add_definitions(-DBUILD_ANDROID) set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_CURRENT_BINARY_DIR}) set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/libs/) - #add_subdirectory(Mobile/Android/) - #add_library(androidGmsh SHARED Mobile/Android/drawGModel.cpp Mobile/Android/androidGModel.cpp ${GMSH_SRC}) add_library(androidGmsh SHARED ${GMSH_SRC}) - #set( LIBRARY_DEPS GLESv1_CM log) set_target_properties(androidGmsh PROPERTIES OUTPUT_NAME Gmsh) - target_link_libraries(androidGmsh ${LINK_LIBRARIES}) + target_link_libraries(androidGmsh ${EXTERNAL_LIBRARIES}) endif(ENABLE_BUILD_ANDROID) if(HAVE_FLTK OR HAVE_QT OR ENABLE_GRAPHICS) @@ -1272,9 +1269,6 @@ endif(ENABLE_BUILD_LIB) if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) install(TARGETS shared DESTINATION lib OPTIONAL) endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) -if(ENABLE_BUILD_ANDROID) - install(TARGETS androidGmsh DESTINATION lib OPTIONAL) -endif(ENABLE_BUILD_ANDROID) install(FILES ${ONELAB_PY} DESTINATION ${GMSH_BIN}) install(FILES ${GMSH_API} DESTINATION include/gmsh) -- GitLab