CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. cmake_minimum_required(VERSION 3.3)
  2. project(VSNsightTegra C CXX)
  3. set(CMAKE_ANDROID_ARCH armv7-a)
  4. set(CMAKE_ANDROID_STL_TYPE stlport_shared)
  5. set(CMAKE_ANDROID_API_MIN 9)
  6. set(CMAKE_ANDROID_API 15)
  7. set(CMAKE_ANDROID_GUI 1)
  8. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
  9. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
  10. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
  11. set(FIRST_C_FILES
  12. jni/first.c
  13. jni/first.h
  14. )
  15. source_group(jni FILES ${FIRST_C_FILES})
  16. add_library(twolib-first ${FIRST_C_FILES})
  17. set(SECOND_C_FILES
  18. jni/second.c
  19. )
  20. set(SECOND_JAVA_FILES
  21. src/com/example/twolibs/TwoLibs.java
  22. )
  23. set(SECOND_RES_FILES
  24. res/values/strings.xml
  25. )
  26. set(SECOND_ANDROID_FILES
  27. AndroidManifest.xml
  28. )
  29. source_group(jni FILES ${SECOND_C_FILES})
  30. source_group(res\\values FILES ${SECOND_RES_FILES})
  31. source_group(src\\com\\example\\twolibs FILES ${SECOND_JAVA_FILES})
  32. add_executable(twolib-second
  33. ${SECOND_C_FILES}
  34. ${SECOND_JAVA_FILES}
  35. ${SECOND_RES_FILES}
  36. ${SECOND_ANDROID_FILES}
  37. )
  38. target_include_directories(twolib-second PUBLIC jni)
  39. target_link_libraries(twolib-second twolib-first)
  40. target_link_libraries(twolib-second m) # test linking to library by name
  41. set_property(TARGET twolib-second PROPERTY C_STANDARD 11)
  42. set_target_properties(twolib-second PROPERTIES ANDROID_SKIP_ANT_STEP 1)
  43. set_target_properties(twolib-second PROPERTIES ANDROID_PROGUARD 1)
  44. set_target_properties(twolib-second PROPERTIES ANDROID_PROGUARD_CONFIG_PATH proguard-android.txt)
  45. set_target_properties(twolib-second PROPERTIES ANDROID_SECURE_PROPS_PATH /definitely/insecure)
  46. set_property(TARGET twolib-second PROPERTY ANDROID_NATIVE_LIB_DIRECTORIES $<TARGET_FILE_DIR:twolib-second>)
  47. set_property(TARGET twolib-second PROPERTY ANDROID_NATIVE_LIB_DEPENDENCIES $<TARGET_FILE_NAME:twolib-second>)
  48. set_property(TARGET twolib-second PROPERTY ANDROID_JAR_DIRECTORIES $<TARGET_FILE_DIR:twolib-first>)