CMakeLists.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 2.6)
  2. project(test-shapes-gles1)
  3. IF(CMAKE_COMPILER_IS_GNUCC)
  4. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
  5. IF(!ANDROID)
  6. # not setting -ansi as EGL/KHR headers doesn't support it
  7. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ansi")
  8. ENDIF()
  9. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  10. # FreeGLUT
  11. include(FindPkgConfig)
  12. pkg_check_modules(freeglut REQUIRED freeglut-gles>=3.0.0)
  13. if(freeglut_FOUND)
  14. include_directories(${freeglut_STATIC_INCLUDE_DIRS})
  15. link_directories(${freeglut_STATIC_LIBRARY_DIRS})
  16. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${freeglut_STATIC_CFLAGS_OTHER}")
  17. add_definitions(${freeglut_STATIC_CFLAGS_OTHER})
  18. endif()
  19. if(ANDROID)
  20. add_library(test-shapes-gles1 SHARED test-shapes-gles1.c)
  21. add_custom_target(apk ALL
  22. DEPENDS test-shapes-gles1
  23. COMMAND ant clean || true
  24. COMMAND rm -rf libs/ src/ res/ bin/ gen/
  25. COMMAND mkdir -p libs/armeabi/ src/ res/values/
  26. COMMAND cp -a ${PROJECT_SOURCE_DIR}/AndroidManifest.xml ${PROJECT_BINARY_DIR}
  27. COMMAND cp -a $<TARGET_FILE:test-shapes-gles1> libs/armeabi/
  28. COMMAND echo '<?xml version="1.0" encoding="utf-8"?><resources><string name="app_name">FG_GLES1 test</string></resources>'
  29. > res/values/strings.xml
  30. COMMAND android update project --name cmake-apk --path . --target "android-10"
  31. COMMAND ant debug
  32. COMMAND ant installd
  33. COMMAND adb shell am start -a android.intenon.MAIN -n freeglut.test.gles1/android.app.NativeActivity
  34. )
  35. # Note: at least one resource and an empty src/ dir is necessary for ant...
  36. else()
  37. add_executable(test-shapes-gles1 test-shapes-gles1.c)
  38. endif()
  39. target_link_libraries(test-shapes-gles1 ${freeglut_STATIC_LIBRARIES})