You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 2.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. cmake_minimum_required(VERSION 3.10)
  2. project(Lite-java)
  3. set(BUILD_LITE "on")
  4. if(PLATFORM_ARM32 OR PLATFORM_ARM32)
  5. set(PLATFORM_ARM "on")
  6. add_compile_definitions(PLATFORM_ARM)
  7. endif()
  8. set(MS_VERSION_MAJOR ${MS_VERSION_MAJOR})
  9. set(MS_VERSION_MINOR ${MS_VERSION_MINOR})
  10. set(MS_VERSION_REVISION ${MS_VERSION_REVISION})
  11. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMS_VERSION_MAJOR=${MS_VERSION_MAJOR} -DMS_VERSION_MINOR=${MS_VERSION_MINOR} \
  12. -DMS_VERSION_REVISION=${MS_VERSION_REVISION}")
  13. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMS_VERSION_MAJOR=${MS_VERSION_MAJOR} -DMS_VERSION_MINOR=${MS_VERSION_MINOR} \
  14. -DMS_VERSION_REVISION=${MS_VERSION_REVISION}")
  15. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
  16. #set for cross-compiling toolchain
  17. set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
  18. set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
  19. set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
  20. if(ENABLE_VERBOSE)
  21. set(CMAKE_VERBOSE_MAKEFILE on)
  22. endif()
  23. if(PLATFORM_ARM32)
  24. add_compile_definitions(ENABLE_ARM32)
  25. endif()
  26. if(PLATFORM_ARM64)
  27. add_compile_definitions(ENABLE_ARM64)
  28. endif()
  29. set(TOP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
  30. set(LITE_DIR ${TOP_DIR}/mindspore/lite)
  31. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  32. include_directories(${LITE_DIR}) ## lite include
  33. include_directories(${TOP_DIR}) ## api include
  34. include_directories(${TOP_DIR}/mindspore/core/) ## core include
  35. include_directories(${LITE_DIR}/build) ## flatbuffers
  36. if(PLATFORM_ARM64 OR PLATFORM_ARM32)
  37. link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libs/${ANDROID_ABI}/)
  38. else()
  39. link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libs/linux_x86/)
  40. set(JAVA_HOME "$ENV{JAVA_HOME}")
  41. include_directories(${JAVA_HOME}/include/) ## jni
  42. include_directories(${JAVA_HOME}/include/linux) ## jni
  43. endif()
  44. set(JNI_SRC
  45. ${CMAKE_CURRENT_SOURCE_DIR}/common/jni_utils.cpp
  46. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/model.cpp
  47. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/version.cpp
  48. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/ms_config.cpp
  49. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/ms_tensor.cpp
  50. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/lite_session.cpp
  51. )
  52. if(SUPPORT_TRAIN)
  53. set(JNI_SRC
  54. ${JNI_SRC}
  55. ${CMAKE_CURRENT_SOURCE_DIR}/runtime/train_session.cpp
  56. )
  57. endif()
  58. add_library(mindspore-lite-jni SHARED ${JNI_SRC})
  59. if(PLATFORM_ARM64 OR PLATFORM_ARM32)
  60. find_library(log-lib log)
  61. target_link_libraries(mindspore-lite-jni mindspore-lite ${log-lib})
  62. else()
  63. target_link_libraries(mindspore-lite-jni mindspore-lite)
  64. endif()