mirror of
https://github.com/minetest/minetest.git
synced 2024-11-26 17:43:45 +01:00
parent
00c647e4cc
commit
8cccd75e81
@ -67,9 +67,17 @@ set(ENABLE_UPDATE_CHECKER (NOT ${DEVELOPMENT_BUILD}) CACHE BOOL
|
|||||||
# Included stuff
|
# Included stuff
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||||
|
|
||||||
|
# Load default options for Android
|
||||||
|
if(ANDROID)
|
||||||
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
include(MinetestAndroidLibs)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(IRRLICHTMT_BUILD_DIR "" CACHE PATH "Path to IrrlichtMt build directory.")
|
set(IRRLICHTMT_BUILD_DIR "" CACHE PATH "Path to IrrlichtMt build directory.")
|
||||||
if(NOT "${IRRLICHTMT_BUILD_DIR}" STREQUAL "")
|
if(ANDROID)
|
||||||
|
# currently manually provided
|
||||||
|
elseif(NOT "${IRRLICHTMT_BUILD_DIR}" STREQUAL "")
|
||||||
find_package(IrrlichtMt QUIET
|
find_package(IrrlichtMt QUIET
|
||||||
PATHS "${IRRLICHTMT_BUILD_DIR}"
|
PATHS "${IRRLICHTMT_BUILD_DIR}"
|
||||||
NO_DEFAULT_PATH
|
NO_DEFAULT_PATH
|
||||||
@ -120,7 +128,9 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_CLIENT AND TARGET IrrlichtMt::IrrlichtMt)
|
if(ANDROID)
|
||||||
|
# skipped for now
|
||||||
|
elseif(BUILD_CLIENT AND TARGET IrrlichtMt::IrrlichtMt)
|
||||||
# retrieve version somehow
|
# retrieve version somehow
|
||||||
if(NOT IrrlichtMt_VERSION)
|
if(NOT IrrlichtMt_VERSION)
|
||||||
get_target_property(IrrlichtMt_VERSION IrrlichtMt VERSION)
|
get_target_property(IrrlichtMt_VERSION IrrlichtMt VERSION)
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.app.lib_name"
|
android:name="android.app.lib_name"
|
||||||
android:value="Minetest" />
|
android:value="minetest" />
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<service
|
<service
|
||||||
|
@ -48,7 +48,7 @@ import java.util.Objects;
|
|||||||
public class GameActivity extends NativeActivity {
|
public class GameActivity extends NativeActivity {
|
||||||
static {
|
static {
|
||||||
System.loadLibrary("c++_shared");
|
System.loadLibrary("c++_shared");
|
||||||
System.loadLibrary("Minetest");
|
System.loadLibrary("minetest");
|
||||||
}
|
}
|
||||||
|
|
||||||
private int messageReturnCode = -1;
|
private int messageReturnCode = -1;
|
||||||
|
@ -3,9 +3,8 @@
|
|||||||
project.ext.set("versionMajor", 5) // Version Major
|
project.ext.set("versionMajor", 5) // Version Major
|
||||||
project.ext.set("versionMinor", 8) // Version Minor
|
project.ext.set("versionMinor", 8) // Version Minor
|
||||||
project.ext.set("versionPatch", 0) // Version Patch
|
project.ext.set("versionPatch", 0) // Version Patch
|
||||||
project.ext.set("versionExtra", "-dev") // Version Extra
|
// ^ keep in sync with cmake
|
||||||
project.ext.set("versionCode", 44) // Android Version Code
|
project.ext.set("versionCode", 44) // Android Version Code
|
||||||
project.ext.set("developmentBuild", 1) // Whether it is a development build, or a release
|
|
||||||
// NOTE: +2 after each release!
|
// NOTE: +2 after each release!
|
||||||
// +1 for ARM and +1 for ARM64 APK's, because
|
// +1 for ARM and +1 for ARM64 APK's, because
|
||||||
// each APK must have a larger `versionCode` than the previous
|
// each APK must have a larger `versionCode` than the previous
|
||||||
|
@ -9,20 +9,18 @@ android {
|
|||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
cmake {
|
||||||
arguments '-j' + Runtime.getRuntime().availableProcessors(),
|
arguments "-DANDROID_STL=c++_shared",
|
||||||
"versionMajor=${versionMajor}",
|
"-DENABLE_CURL=1", "-DENABLE_SOUND=1",
|
||||||
"versionMinor=${versionMinor}",
|
"-DENABLE_TOUCH=1", "-DENABLE_GETTEXT=1",
|
||||||
"versionPatch=${versionPatch}",
|
"-DBUILD_UNITTESTS=0", "-DENABLE_UPDATE_CHECKER=0"
|
||||||
"versionExtra=${versionExtra}",
|
|
||||||
"developmentBuild=${developmentBuild}"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
cmake {
|
||||||
path file('jni/Android.mk')
|
path file("../../CMakeLists.txt")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,12 +35,6 @@ android {
|
|||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
externalNativeBuild {
|
|
||||||
ndkBuild {
|
|
||||||
arguments 'NDEBUG=1'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ndk {
|
ndk {
|
||||||
debugSymbolLevel 'SYMBOL_TABLE'
|
debugSymbolLevel 'SYMBOL_TABLE'
|
||||||
}
|
}
|
||||||
|
@ -1,301 +0,0 @@
|
|||||||
LOCAL_PATH := $(call my-dir)/..
|
|
||||||
|
|
||||||
#LOCAL_ADDRESS_SANITIZER:=true
|
|
||||||
#USE_BUILTIN_LUA:=true
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Curl
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libcurl.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libmbedcrypto
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedcrypto.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libmbedtls
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedtls.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libmbedx509
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedx509.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Freetype
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Freetype/libfreetype.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Iconv
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Iconv/libiconv.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libcharset
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Iconv/libcharset.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Irrlicht
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Irrlicht-libpng
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libpng.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Irrlicht-libjpeg
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libjpeg.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
ifndef USE_BUILTIN_LUA
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := LuaJIT
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/LuaJIT/libluajit.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := OpenAL
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/OpenAL-Soft/libopenal.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Gettext
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Gettext/libintl.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := SQLite3
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/SQLite/libsqlite3.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Vorbis
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libvorbis.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libvorbisfile
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libvorbisfile.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := libogg
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libogg.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Zstd
|
|
||||||
LOCAL_SRC_FILES := deps/$(APP_ABI)/Zstd/libzstd.a
|
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := Minetest
|
|
||||||
|
|
||||||
LOCAL_CFLAGS += \
|
|
||||||
-DJSONCPP_NO_LOCALE_SUPPORT \
|
|
||||||
-DHAVE_TOUCHSCREENGUI \
|
|
||||||
-DUSE_CURL=1 \
|
|
||||||
-DUSE_SOUND=1 \
|
|
||||||
-DUSE_LEVELDB=0 \
|
|
||||||
-DUSE_GETTEXT=1 \
|
|
||||||
-DVERSION_MAJOR=${versionMajor} \
|
|
||||||
-DVERSION_MINOR=${versionMinor} \
|
|
||||||
-DVERSION_PATCH=${versionPatch} \
|
|
||||||
-DVERSION_EXTRA=${versionExtra} \
|
|
||||||
-DDEVELOPMENT_BUILD=${developmentBuild} \
|
|
||||||
$(GPROF_DEF)
|
|
||||||
|
|
||||||
ifdef USE_BUILTIN_LUA
|
|
||||||
LOCAL_CFLAGS += -DUSE_LUAJIT=0
|
|
||||||
else
|
|
||||||
LOCAL_CFLAGS += -DUSE_LUAJIT=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef NDEBUG
|
|
||||||
LOCAL_CFLAGS += -DNDEBUG=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef GPROF
|
|
||||||
GPROF_DEF := -DGPROF
|
|
||||||
PROFILER_LIBS := android-ndk-profiler
|
|
||||||
LOCAL_CFLAGS += -pg
|
|
||||||
endif
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := \
|
|
||||||
../../src \
|
|
||||||
../../src/script \
|
|
||||||
../../lib/gmp \
|
|
||||||
../../lib/jsoncpp \
|
|
||||||
deps/$(APP_ABI)/Curl/include \
|
|
||||||
deps/$(APP_ABI)/Freetype/include/freetype2 \
|
|
||||||
deps/$(APP_ABI)/Irrlicht/include \
|
|
||||||
deps/$(APP_ABI)/Gettext/include \
|
|
||||||
deps/$(APP_ABI)/Iconv/include \
|
|
||||||
deps/$(APP_ABI)/OpenAL-Soft/include \
|
|
||||||
deps/$(APP_ABI)/SQLite/include \
|
|
||||||
deps/$(APP_ABI)/Vorbis/include \
|
|
||||||
deps/$(APP_ABI)/Zstd/include
|
|
||||||
|
|
||||||
ifdef USE_BUILTIN_LUA
|
|
||||||
LOCAL_C_INCLUDES += \
|
|
||||||
../../lib/lua/src \
|
|
||||||
../../lib/bitop
|
|
||||||
else
|
|
||||||
LOCAL_C_INCLUDES += deps/$(APP_ABI)/LuaJIT/include
|
|
||||||
endif
|
|
||||||
|
|
||||||
LOCAL_SRC_FILES := \
|
|
||||||
$(wildcard ../../src/client/*.cpp) \
|
|
||||||
$(wildcard ../../src/client/*/*.cpp) \
|
|
||||||
$(wildcard ../../src/content/*.cpp) \
|
|
||||||
../../src/database/database.cpp \
|
|
||||||
../../src/database/database-dummy.cpp \
|
|
||||||
../../src/database/database-files.cpp \
|
|
||||||
../../src/database/database-sqlite3.cpp \
|
|
||||||
$(wildcard ../../src/gui/*.cpp) \
|
|
||||||
$(wildcard ../../src/irrlicht_changes/*.cpp) \
|
|
||||||
$(wildcard ../../src/mapgen/*.cpp) \
|
|
||||||
$(wildcard ../../src/network/*.cpp) \
|
|
||||||
$(wildcard ../../src/script/*.cpp) \
|
|
||||||
$(wildcard ../../src/script/*/*.cpp) \
|
|
||||||
$(wildcard ../../src/server/*.cpp) \
|
|
||||||
$(wildcard ../../src/threading/*.cpp) \
|
|
||||||
$(wildcard ../../src/util/*.c) \
|
|
||||||
$(wildcard ../../src/util/*.cpp) \
|
|
||||||
../../src/ban.cpp \
|
|
||||||
../../src/chat.cpp \
|
|
||||||
../../src/clientiface.cpp \
|
|
||||||
../../src/collision.cpp \
|
|
||||||
../../src/content_mapnode.cpp \
|
|
||||||
../../src/content_nodemeta.cpp \
|
|
||||||
../../src/convert_json.cpp \
|
|
||||||
../../src/craftdef.cpp \
|
|
||||||
../../src/debug.cpp \
|
|
||||||
../../src/defaultsettings.cpp \
|
|
||||||
../../src/emerge.cpp \
|
|
||||||
../../src/environment.cpp \
|
|
||||||
../../src/face_position_cache.cpp \
|
|
||||||
../../src/filesys.cpp \
|
|
||||||
../../src/gettext.cpp \
|
|
||||||
../../src/httpfetch.cpp \
|
|
||||||
../../src/hud.cpp \
|
|
||||||
../../src/inventory.cpp \
|
|
||||||
../../src/inventorymanager.cpp \
|
|
||||||
../../src/itemdef.cpp \
|
|
||||||
../../src/itemstackmetadata.cpp \
|
|
||||||
../../src/light.cpp \
|
|
||||||
../../src/lighting.cpp \
|
|
||||||
../../src/log.cpp \
|
|
||||||
../../src/main.cpp \
|
|
||||||
../../src/map.cpp \
|
|
||||||
../../src/map_settings_manager.cpp \
|
|
||||||
../../src/mapblock.cpp \
|
|
||||||
../../src/mapnode.cpp \
|
|
||||||
../../src/mapsector.cpp \
|
|
||||||
../../src/metadata.cpp \
|
|
||||||
../../src/modchannels.cpp \
|
|
||||||
../../src/nameidmapping.cpp \
|
|
||||||
../../src/nodedef.cpp \
|
|
||||||
../../src/nodemetadata.cpp \
|
|
||||||
../../src/nodetimer.cpp \
|
|
||||||
../../src/noise.cpp \
|
|
||||||
../../src/objdef.cpp \
|
|
||||||
../../src/object_properties.cpp \
|
|
||||||
../../src/particles.cpp \
|
|
||||||
../../src/pathfinder.cpp \
|
|
||||||
../../src/player.cpp \
|
|
||||||
../../src/porting.cpp \
|
|
||||||
../../src/porting_android.cpp \
|
|
||||||
../../src/profiler.cpp \
|
|
||||||
../../src/raycast.cpp \
|
|
||||||
../../src/reflowscan.cpp \
|
|
||||||
../../src/remoteplayer.cpp \
|
|
||||||
../../src/rollback.cpp \
|
|
||||||
../../src/rollback_interface.cpp \
|
|
||||||
../../src/serialization.cpp \
|
|
||||||
../../src/server.cpp \
|
|
||||||
../../src/serverenvironment.cpp \
|
|
||||||
../../src/serverlist.cpp \
|
|
||||||
../../src/settings.cpp \
|
|
||||||
../../src/staticobject.cpp \
|
|
||||||
../../src/texture_override.cpp \
|
|
||||||
../../src/tileanimation.cpp \
|
|
||||||
../../src/tool.cpp \
|
|
||||||
../../src/translation.cpp \
|
|
||||||
../../src/version.cpp \
|
|
||||||
../../src/voxel.cpp \
|
|
||||||
../../src/voxelalgorithms.cpp
|
|
||||||
|
|
||||||
# Built-in Lua
|
|
||||||
ifdef USE_BUILTIN_LUA
|
|
||||||
LOCAL_SRC_FILES += \
|
|
||||||
../../lib/lua/src/lapi.c \
|
|
||||||
../../lib/lua/src/lauxlib.c \
|
|
||||||
../../lib/lua/src/lbaselib.c \
|
|
||||||
../../lib/lua/src/lcode.c \
|
|
||||||
../../lib/lua/src/ldblib.c \
|
|
||||||
../../lib/lua/src/ldebug.c \
|
|
||||||
../../lib/lua/src/ldo.c \
|
|
||||||
../../lib/lua/src/ldump.c \
|
|
||||||
../../lib/lua/src/lfunc.c \
|
|
||||||
../../lib/lua/src/lgc.c \
|
|
||||||
../../lib/lua/src/linit.c \
|
|
||||||
../../lib/lua/src/liolib.c \
|
|
||||||
../../lib/lua/src/llex.c \
|
|
||||||
../../lib/lua/src/lmathlib.c \
|
|
||||||
../../lib/lua/src/lmem.c \
|
|
||||||
../../lib/lua/src/loadlib.c \
|
|
||||||
../../lib/lua/src/lobject.c \
|
|
||||||
../../lib/lua/src/lopcodes.c \
|
|
||||||
../../lib/lua/src/loslib.c \
|
|
||||||
../../lib/lua/src/lparser.c \
|
|
||||||
../../lib/lua/src/lstate.c \
|
|
||||||
../../lib/lua/src/lstring.c \
|
|
||||||
../../lib/lua/src/lstrlib.c \
|
|
||||||
../../lib/lua/src/ltable.c \
|
|
||||||
../../lib/lua/src/ltablib.c \
|
|
||||||
../../lib/lua/src/ltm.c \
|
|
||||||
../../lib/lua/src/lundump.c \
|
|
||||||
../../lib/lua/src/lvm.c \
|
|
||||||
../../lib/lua/src/lzio.c \
|
|
||||||
../../lib/bitop/bit.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
# GMP
|
|
||||||
LOCAL_SRC_FILES += ../../lib/gmp/mini-gmp.c
|
|
||||||
|
|
||||||
# JSONCPP
|
|
||||||
LOCAL_SRC_FILES += ../../lib/jsoncpp/jsoncpp.cpp
|
|
||||||
|
|
||||||
LOCAL_STATIC_LIBRARIES += \
|
|
||||||
Curl libmbedcrypto libmbedtls libmbedx509 \
|
|
||||||
Freetype \
|
|
||||||
Iconv libcharset \
|
|
||||||
Irrlicht Irrlicht-libpng Irrlicht-libjpeg \
|
|
||||||
OpenAL \
|
|
||||||
Gettext \
|
|
||||||
SQLite3 \
|
|
||||||
Vorbis libvorbisfile libogg \
|
|
||||||
Zstd
|
|
||||||
ifndef USE_BUILTIN_LUA
|
|
||||||
LOCAL_STATIC_LIBRARIES += LuaJIT
|
|
||||||
endif
|
|
||||||
LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS)
|
|
||||||
|
|
||||||
LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES -lz
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
|
||||||
|
|
||||||
ifdef GPROF
|
|
||||||
$(call import-module,android-ndk-profiler)
|
|
||||||
endif
|
|
||||||
$(call import-module,android/native_app_glue)
|
|
@ -1,32 +0,0 @@
|
|||||||
APP_PLATFORM := ${APP_PLATFORM}
|
|
||||||
APP_ABI := ${TARGET_ABI}
|
|
||||||
APP_STL := c++_shared
|
|
||||||
NDK_TOOLCHAIN_VERSION := clang
|
|
||||||
APP_SHORT_COMMANDS := true
|
|
||||||
APP_MODULES := Minetest
|
|
||||||
|
|
||||||
APP_CPPFLAGS := -O2 -fvisibility=hidden
|
|
||||||
|
|
||||||
ifeq ($(APP_ABI),armeabi-v7a)
|
|
||||||
APP_CPPFLAGS += -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(APP_ABI),x86)
|
|
||||||
APP_CPPFLAGS += -mssse3 -mfpmath=sse -funroll-loops
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef NDEBUG
|
|
||||||
APP_CPPFLAGS := -g -Og -fno-omit-frame-pointer
|
|
||||||
endif
|
|
||||||
|
|
||||||
APP_CFLAGS := $(APP_CPPFLAGS) -Wno-inconsistent-missing-override -Wno-parentheses-equality
|
|
||||||
APP_CXXFLAGS := $(APP_CPPFLAGS) -fexceptions -frtti -std=gnu++14
|
|
||||||
APP_LDFLAGS := -Wl,--no-warn-mismatch,--gc-sections,--icf=safe
|
|
||||||
|
|
||||||
ifeq ($(APP_ABI),arm64-v8a)
|
|
||||||
APP_LDFLAGS := -Wl,--no-warn-mismatch,--gc-sections
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef NDEBUG
|
|
||||||
APP_LDFLAGS :=
|
|
||||||
endif
|
|
31
cmake/Modules/MinetestAndroidLibs.cmake
Normal file
31
cmake/Modules/MinetestAndroidLibs.cmake
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
set(DEPS "${CMAKE_SOURCE_DIR}/android/native/deps/${ANDROID_ABI}")
|
||||||
|
|
||||||
|
add_library(IrrlichtMt::IrrlichtMt STATIC IMPORTED)
|
||||||
|
set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES ${DEPS}/Irrlicht/include)
|
||||||
|
set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES
|
||||||
|
IMPORTED_LOCATION ${DEPS}/Irrlicht/libIrrlichtMt.a)
|
||||||
|
set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES
|
||||||
|
INTERFACE_LINK_LIBRARIES "EGL;GLESv1_CM;GLESv2;${DEPS}/Irrlicht/libpng.a;${DEPS}/Irrlicht/libjpeg.a")
|
||||||
|
|
||||||
|
set(CURL_INCLUDE_DIR ${DEPS}/Curl/include)
|
||||||
|
set(CURL_LIBRARY ${DEPS}/Curl/libcurl.a;${DEPS}/Curl/libmbedcrypto.a;${DEPS}/Curl/libmbedtls.a;${DEPS}/Curl/libmbedx509.a)
|
||||||
|
set(FREETYPE_INCLUDE_DIR_ft2build ${DEPS}/Freetype/include/freetype2)
|
||||||
|
set(FREETYPE_INCLUDE_DIR_freetype2 ${FREETYPE_INCLUDE_DIR_ft2build}/freetype)
|
||||||
|
set(FREETYPE_LIBRARY ${DEPS}/Freetype/libfreetype.a)
|
||||||
|
set(GETTEXT_INCLUDE_DIR ${DEPS}/Gettext/include;${DEPS}/Iconv/include)
|
||||||
|
set(GETTEXT_LIBRARY ${DEPS}/Gettext/libintl.a)
|
||||||
|
set(ICONV_LIBRARY ${DEPS}/Iconv/libiconv.a;${DEPS}/Iconv/libcharset.a)
|
||||||
|
set(LUA_INCLUDE_DIR ${DEPS}/LuaJIT/include)
|
||||||
|
set(LUA_LIBRARY ${DEPS}/LuaJIT/libluajit.a)
|
||||||
|
set(OGG_INCLUDE_DIR ${DEPS}/Vorbis/include)
|
||||||
|
set(OGG_LIBRARY ${DEPS}/Vorbis/libogg.a)
|
||||||
|
set(OPENAL_INCLUDE_DIR ${DEPS}/OpenAL-Soft/include)
|
||||||
|
set(OPENAL_LIBRARY ${DEPS}/OpenAL-Soft/libopenal.a;OpenSLES)
|
||||||
|
set(SQLITE3_INCLUDE_DIR ${DEPS}/SQLite/include)
|
||||||
|
set(SQLITE3_LIBRARY ${DEPS}/SQLite/libsqlite3.a)
|
||||||
|
set(VORBIS_INCLUDE_DIR ${DEPS}/Vorbis/include)
|
||||||
|
set(VORBISFILE_LIBRARY ${DEPS}/Vorbis/libvorbisfile.a)
|
||||||
|
set(VORBIS_LIBRARY ${DEPS}/Vorbis/libvorbis.a)
|
||||||
|
set(ZSTD_INCLUDE_DIR ${DEPS}/Zstd/include)
|
||||||
|
set(ZSTD_LIBRARY ${DEPS}/Zstd/libzstd.a)
|
@ -43,8 +43,6 @@ Library specific options:
|
|||||||
CURL_DLL - Only if building with cURL on Windows; path to libcurl.dll
|
CURL_DLL - Only if building with cURL on Windows; path to libcurl.dll
|
||||||
CURL_INCLUDE_DIR - Only if building with cURL; directory where curl.h is located
|
CURL_INCLUDE_DIR - Only if building with cURL; directory where curl.h is located
|
||||||
CURL_LIBRARY - Only if building with cURL; path to libcurl.a/libcurl.so/libcurl.lib
|
CURL_LIBRARY - Only if building with cURL; path to libcurl.a/libcurl.so/libcurl.lib
|
||||||
EGL_INCLUDE_DIR - Only if building with GLES; directory that contains egl.h
|
|
||||||
EGL_LIBRARY - Only if building with GLES; path to libEGL.a/libEGL.so
|
|
||||||
EXTRA_DLL - Only on Windows; optional paths to additional DLLs that should be packaged
|
EXTRA_DLL - Only on Windows; optional paths to additional DLLs that should be packaged
|
||||||
FREETYPE_INCLUDE_DIR_freetype2 - Directory that contains files such as ftimage.h
|
FREETYPE_INCLUDE_DIR_freetype2 - Directory that contains files such as ftimage.h
|
||||||
FREETYPE_INCLUDE_DIR_ft2build - Directory that contains ft2build.h
|
FREETYPE_INCLUDE_DIR_ft2build - Directory that contains ft2build.h
|
||||||
|
@ -285,10 +285,8 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# Unix probably
|
# Unix probably
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT AND NOT (HAIKU OR APPLE OR ANDROID))
|
||||||
if(NOT HAIKU AND NOT APPLE)
|
|
||||||
find_package(X11 REQUIRED)
|
find_package(X11 REQUIRED)
|
||||||
endif(NOT HAIKU AND NOT APPLE)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_LIBS ${PLATFORM_LIBS} ${CMAKE_DL_LIBS})
|
set(PLATFORM_LIBS ${PLATFORM_LIBS} ${CMAKE_DL_LIBS})
|
||||||
@ -310,6 +308,14 @@ else()
|
|||||||
if (HAIKU)
|
if (HAIKU)
|
||||||
set(PLATFORM_LIBS ${PLATFORM_LIBS} network)
|
set(PLATFORM_LIBS ${PLATFORM_LIBS} network)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (ANDROID)
|
||||||
|
include_directories(${ANDROID_NDK}/sources/android/native_app_glue)
|
||||||
|
add_library(native_app_glue OBJECT ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
|
||||||
|
set(PLATFORM_LIBS ${PLATFORM_LIBS} native_app_glue)
|
||||||
|
|
||||||
|
set(PLATFORM_LIBS ${PLATFORM_LIBS} android log)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
check_include_files(endian.h HAVE_ENDIAN_H)
|
check_include_files(endian.h HAVE_ENDIAN_H)
|
||||||
@ -419,6 +425,10 @@ set(common_SRCS
|
|||||||
${UTIL_SRCS}
|
${UTIL_SRCS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
set(common_SRCS ${common_SRCS} porting_android.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BUILD_UNITTESTS)
|
if(BUILD_UNITTESTS)
|
||||||
set(common_SRCS ${common_SRCS} ${UNITTEST_SRCS})
|
set(common_SRCS ${common_SRCS} ${UNITTEST_SRCS})
|
||||||
endif()
|
endif()
|
||||||
@ -524,7 +534,11 @@ if(NOT CMAKE_CROSSCOMPILING)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT)
|
||||||
|
if(ANDROID)
|
||||||
|
add_library(${PROJECT_NAME} SHARED ${client_SRCS})
|
||||||
|
else()
|
||||||
add_executable(${PROJECT_NAME} ${client_SRCS} ${extra_windows_SRCS})
|
add_executable(${PROJECT_NAME} ${client_SRCS} ${extra_windows_SRCS})
|
||||||
|
endif()
|
||||||
add_dependencies(${PROJECT_NAME} GenerateVersion)
|
add_dependencies(${PROJECT_NAME} GenerateVersion)
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
${PROJECT_NAME}
|
${PROJECT_NAME}
|
||||||
@ -874,7 +888,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT AND NOT ANDROID)
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION ${BINDIR}
|
RUNTIME DESTINATION ${BINDIR}
|
||||||
LIBRARY DESTINATION ${BINDIR}
|
LIBRARY DESTINATION ${BINDIR}
|
||||||
@ -900,13 +914,16 @@ if(BUILD_CLIENT)
|
|||||||
|
|
||||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../fonts" DESTINATION "${SHAREDIR}"
|
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../fonts" DESTINATION "${SHAREDIR}"
|
||||||
FILES_MATCHING PATTERN "*.ttf" PATTERN "*.txt")
|
FILES_MATCHING PATTERN "*.ttf" PATTERN "*.txt")
|
||||||
endif(BUILD_CLIENT)
|
endif()
|
||||||
|
|
||||||
if(BUILD_SERVER)
|
if(BUILD_SERVER)
|
||||||
install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR})
|
install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (USE_GETTEXT)
|
if (ANDROID)
|
||||||
|
# Android does this manually in app/build.gradle -> prepareAssets
|
||||||
|
# for now!
|
||||||
|
elseif (USE_GETTEXT)
|
||||||
set(MO_FILES)
|
set(MO_FILES)
|
||||||
|
|
||||||
foreach(LOCALE ${GETTEXT_USED_LOCALES})
|
foreach(LOCALE ${GETTEXT_USED_LOCALES})
|
||||||
|
22
src/config.h
22
src/config.h
@ -1,27 +1,7 @@
|
|||||||
/*
|
|
||||||
If CMake is used, includes the cmake-generated cmake_config.h.
|
|
||||||
Otherwise use default values
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define STRINGIFY(x) #x
|
|
||||||
#define STR(x) STRINGIFY(x)
|
|
||||||
|
|
||||||
|
|
||||||
#if defined USE_CMAKE_CONFIG_H
|
#if defined USE_CMAKE_CONFIG_H
|
||||||
#include "cmake_config.h"
|
#include "cmake_config.h"
|
||||||
#else
|
#else
|
||||||
#if defined (__ANDROID__)
|
#warning Missing configuration
|
||||||
#define PROJECT_NAME "minetest"
|
|
||||||
#define PROJECT_NAME_C "Minetest"
|
|
||||||
#define STATIC_SHAREDIR ""
|
|
||||||
#define ENABLE_UPDATE_CHECKER 0
|
|
||||||
#define VERSION_STRING STR(VERSION_MAJOR) "." STR(VERSION_MINOR) "." STR(VERSION_PATCH) STR(VERSION_EXTRA)
|
|
||||||
#endif
|
|
||||||
#ifdef NDEBUG
|
|
||||||
#define BUILD_TYPE "Release"
|
|
||||||
#else
|
|
||||||
#define BUILD_TYPE "Debug"
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -28,6 +28,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#define VERSION_GITHASH VERSION_STRING
|
#define VERSION_GITHASH VERSION_STRING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define STRINGIFY(x) #x
|
||||||
|
#define STR(x) STRINGIFY(x)
|
||||||
|
|
||||||
const char *g_version_string = VERSION_STRING;
|
const char *g_version_string = VERSION_STRING;
|
||||||
const char *g_version_hash = VERSION_GITHASH;
|
const char *g_version_hash = VERSION_GITHASH;
|
||||||
const char *g_build_info =
|
const char *g_build_info =
|
||||||
|
@ -105,15 +105,6 @@ set_dev_build() {
|
|||||||
sed -i -re 's/^set\(DEVELOPMENT_BUILD [A-Z]+\)$/set(DEVELOPMENT_BUILD FALSE)/' CMakeLists.txt
|
sed -i -re 's/^set\(DEVELOPMENT_BUILD [A-Z]+\)$/set(DEVELOPMENT_BUILD FALSE)/' CMakeLists.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update Android versions
|
|
||||||
if [ "$is_dev" -eq 1 ]; then
|
|
||||||
sed -i 's/set("versionExtra", "")/set("versionExtra", "-dev")/' android/build.gradle
|
|
||||||
sed -i 's/project.ext.set("developmentBuild", 0)/project.ext.set("developmentBuild", 1)/' android/build.gradle
|
|
||||||
else
|
|
||||||
sed -i 's/set("versionExtra", "-dev")/set("versionExtra", "")/' android/build.gradle
|
|
||||||
sed -i 's/project.ext.set("developmentBuild", 1)/project.ext.set("developmentBuild", 0)/' android/build.gradle
|
|
||||||
fi
|
|
||||||
|
|
||||||
git add -f CMakeLists.txt android/build.gradle
|
git add -f CMakeLists.txt android/build.gradle
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user