Browse Source

add cmake resources

ZengGengSen 1 year ago
parent
commit
61890992b2

+ 2 - 1
app/src/main/cpp/.gitignore

@@ -1,3 +1,4 @@
 .cache
 cmake-build-*
-compile_commands.json
+compile_commands.json
+/target

+ 2 - 2
app/src/main/cpp/.vim/coc-settings.json

@@ -1,4 +1,4 @@
 {
-  "clangd.enabled": true,
-  "semanticTokens.enable": true
+    "clangd.enabled": true,
+    "semanticTokens.enable": true
 }

+ 2 - 36
app/src/main/cpp/CMakeLists.txt

@@ -3,7 +3,6 @@ project(retroarch-activity LANGUAGES C CXX)
 
 option(HAVE_NEON "Enable NEON" ON)
 option(HAVE_FILE_LOGGER "Enable File Logger" ON)
-option(HAVE_OPENGLES3 "Enable OpenGL ES 3" OFF)
 
 # 添加可执行文件或库
 add_library(retroarch-activity SHARED
@@ -22,41 +21,8 @@ if (GIT_RESULT EQUAL 0)
     target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_GIT_VERSION GIT_VERSION="${GIT_VERSION}")
 endif ()
 
-if (${CMAKE_ANDROID_ARCH} STREQUAL "arm")
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_ARM)
-    set(LOCAL_ARM_MODE "arm")
-endif ()
-
-if (${CMAKE_ANDROID_ARCH} STREQUAL "x86")
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_X86 HAVE_SSSE3)
-endif ()
-
-if (${CMAKE_ANDROID_ARCH} STREQUAL "x86_64")
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_X64)
-endif ()
-
-if (${CMAKE_ANDROID_ARCH} STREQUAL "mips")
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_MIPS __mips__ __MIPSEL__)
-endif ()
-
-if (${CMAKE_ANDROID_ARCH_ABI} STREQUAL "armeabi-v7a")
-    if (HAVE_NEON)
-        target_compile_definitions(${PROJECT_NAME} PRIVATE __ARM_NEON__ HAVE_NEON)
-    endif ()
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_ARM_V7)
-endif ()
-
-if (${CMAKE_ANDROID_ARCH_ABI} STREQUAL "arm64-v8a")
-    target_compile_definitions(${PROJECT_NAME} PRIVATE ANDROID_AARCH64)
-endif ()
-
-if (HAVE_OPENGLES3 EQUAL 3)
-    target_link_libraries(${PROJECT_NAME} PRIVATE GLESv3)
-    target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OPENGLES3)
-else ()
-    target_link_libraries(${PROJECT_NAME} PRIVATE GLESv2)
-    target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OPENGLES2)
-endif ()
+target_link_libraries(${PROJECT_NAME} PRIVATE GLESv2)
+target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OPENGLES2)
 
 target_compile_definitions(${PROJECT_NAME} PRIVATE
         RARCH_MOBILE

+ 18 - 10
app/src/main/cpp/Makefile

@@ -2,17 +2,25 @@ BUILD_TOOLCHAIN_DIR := C:/Android/Sdk/ndk/21.4.7075529
 BUILD_NDK_DIR := $(BUILD_TOOLCHAIN_DIR)/toolchains/llvm/prebuilt/windows-x86_64/bin
 BUILD_C_COMPILER := $(BUILD_NDK_DIR)/clang.exe
 BUILD_CXX_COMPILER := $(BUILD_NDK_DIR)/clang++.exe
+STRIP := $(BUILD_NDK_DIR)/llvm-strip.exe
 
+SOURCE_DIR = $(shell pwd)
+BUILD_DIR  = $(SOURCE_DIR)/target/release-ndk21-api16-v7a-c++_shared
 
-all: generate
+OPTION := -GNinja
+OPTION += -S$(SOURCE_DIR)
+OPTION += -B$(BUILD_DIR)
+OPTION += -DCMAKE_BUILD_TYPE=Release
+OPTION += -DCMAKE_SYSTEM_NAME=Android
+OPTION += -DCMAKE_SYSTEM_VERSION=16
+OPTION += -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
+OPTION += -DCMAKE_ANDROID_NDK=$(BUILD_TOOLCHAIN_DIR)
+OPTION += -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+OPTION += -DCMAKE_ANDROID_STL_TYPE=c++_shared
 
-generate:
-	cmake -GNinja -S. -Bcmake-build-debug -DCMAKE_TOOLCHAIN_FILE="C:\Android\Sdk\ndk\21.4.7075529\build\cmake\android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-16 -DANDROID_NDK=$(BUILD_TOOLCHAIN_DIR) -DCMAKE_C_COMPLIER=$(BUILD_C_COMPILER) -DCMAKE_CXX_COMPLIER=$(BUILD_CXX_COMPILER) -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-	cp ./cmake-build-debug/compile_commands.json .
+all:
+	cmake $(OPTION)
+	ninja -C $(BUILD_DIR)
 
-
-build: generate
-	ninja -C cmake-build-debug
-
-deps:
-	ninja -C cmake-build-debug -t deps > deps.txt
+strip: $(BUILD_DIR)/*.so
+	$(STRIP) $<

+ 0 - 5
app/src/main/cpp/tasks/task_autodetect.c

@@ -438,11 +438,6 @@ static void cb_input_autoconfigure_connect(
    if (autoconfig_handle->device_info.autoconfigured)
       input_config_set_autoconfig_binds(port,
             autoconfig_handle->autoconfig_file);
-
-   for (int i = 0; i < RARCH_FIRST_CUSTOM_BIND; ++i) {
-      RARCH_LOG("[Input]: valid %d", input_autoconf_binds[port][i].valid);
-      RARCH_LOG("[Input]: joykey %d", input_autoconf_binds[port][i].joykey);
-   }
 }
 
 static void input_autoconfigure_connect_handler(retro_task_t *task)