summaryrefslogtreecommitdiff
path: root/android/jni/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'android/jni/CMakeLists.txt')
-rw-r--r--android/jni/CMakeLists.txt35
1 files changed, 35 insertions, 0 deletions
diff --git a/android/jni/CMakeLists.txt b/android/jni/CMakeLists.txt
new file mode 100644
index 0000000..e291b2d
--- /dev/null
+++ b/android/jni/CMakeLists.txt
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 3.6)
+
+project(HACRAFT)
+
+add_subdirectory(${SDL_ROOT} SDL)
+
+if(${ANDROID_ABI} STREQUAL arm64-v8a)
+ set(HARE_TARGET aarch64)
+elseif(${ANDROID_ABI} STREQUAL x86_64)
+ set(HARE_TARGET x86_64)
+endif()
+
+set(LIBMAIN_SO ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libmain.so)
+
+add_custom_target(compile_main
+ CC=${CMAKE_C_COMPILER} AS=${CMAKE_CURRENT_SOURCE_DIR}/as
+ LDFLAGS=--target=${CMAKE_C_COMPILER_TARGET}\ -shared\ ${CMAKE_CURRENT_SOURCE_DIR}/main.c
+ ASFLAGS=${CMAKE_C_COMPILER}\ ${CMAKE_C_COMPILER_TARGET}
+ HARECACHE=${CMAKE_CURRENT_BINARY_DIR}/hare
+ hare build -a ${HARE_TARGET} -T +android
+ -L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -o ${LIBMAIN_SO}
+ -lc -lSDL2 -v
+ DEPENDS SDL2
+ BYPRODUCTS ${LIBMAIN_SO}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../..
+ USES_TERMINAL)
+
+add_library(main SHARED IMPORTED GLOBAL)
+set_target_properties(main PROPERTIES IMPORTED_LOCATION ${LIBMAIN_SO})
+add_dependencies(main compile_main)
+
+add_library(dummy SHARED)
+target_sources(dummy PRIVATE dummy.c)
+target_link_libraries(dummy main)