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)