From 74478addebe33521587f99deaf68d93a3dcc5252 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Wed, 6 Jan 2016 15:35:15 -0600 Subject: [PATCH] Move Android JNI bits from DolphinWX to the Android folder. --- CMakeLists.txt | 3 ++ .../Android => Android/jni}/ButtonManager.cpp | 3 +- .../Android => Android/jni}/ButtonManager.h | 0 Source/Android/jni/CMakeLists.txt | 34 +++++++++++++++++ .../DolphinWX => Android/jni}/MainAndroid.cpp | 2 +- Source/CMakeLists.txt | 1 + Source/Core/DolphinWX/CMakeLists.txt | 37 +------------------ .../ControllerInterface/Android/Android.h | 2 +- 8 files changed, 43 insertions(+), 39 deletions(-) rename Source/{Core/DolphinWX/Android => Android/jni}/ButtonManager.cpp (99%) rename Source/{Core/DolphinWX/Android => Android/jni}/ButtonManager.h (100%) create mode 100644 Source/Android/jni/CMakeLists.txt rename Source/{Core/DolphinWX => Android/jni}/MainAndroid.cpp (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 61115b73d1..47ad618e30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -559,6 +559,9 @@ endif() # Setup include directories (and make sure they are preferred over the Externals) # include_directories(Source/Core) +if(ANDROID) + include_directories(Source/Android) +endif() ######################################## # Process externals and setup their include directories diff --git a/Source/Core/DolphinWX/Android/ButtonManager.cpp b/Source/Android/jni/ButtonManager.cpp similarity index 99% rename from Source/Core/DolphinWX/Android/ButtonManager.cpp rename to Source/Android/jni/ButtonManager.cpp index 803eeb062f..83dcfb64e7 100644 --- a/Source/Core/DolphinWX/Android/ButtonManager.cpp +++ b/Source/Android/jni/ButtonManager.cpp @@ -7,7 +7,7 @@ #include "Common/FileUtil.h" #include "Common/IniFile.h" #include "Common/Thread.h" -#include "DolphinWX/Android/ButtonManager.h" +#include "jni/ButtonManager.h" namespace ButtonManager { @@ -560,6 +560,7 @@ namespace ButtonManager auto it = m_controllers.find(dev); if (it != m_controllers.end()) return it->second->PressEvent(button, action); + return false; } void GamepadAxisEvent(const std::string& dev, int axis, float value) { diff --git a/Source/Core/DolphinWX/Android/ButtonManager.h b/Source/Android/jni/ButtonManager.h similarity index 100% rename from Source/Core/DolphinWX/Android/ButtonManager.h rename to Source/Android/jni/ButtonManager.h diff --git a/Source/Android/jni/CMakeLists.txt b/Source/Android/jni/CMakeLists.txt new file mode 100644 index 0000000000..5132775be8 --- /dev/null +++ b/Source/Android/jni/CMakeLists.txt @@ -0,0 +1,34 @@ +list(APPEND LIBS core uicommon) + +set(SRCS ButtonManager.cpp + MainAndroid.cpp) + +if(ANDROID) + set(DOLPHIN_EXE main) + add_library(${DOLPHIN_EXE} SHARED ${SRCS}) + target_link_libraries(${DOLPHIN_EXE} + log + android + "-Wl,--no-warn-mismatch" + "-Wl,--whole-archive" + ${LIBS} + "-Wl,--no-whole-archive" + ) + add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD + COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME} + ) + add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD + COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ + ) + add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD + COMMAND cp ARGS ${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}/lib${DOLPHIN_EXE}.so ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME}/ + ) + add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD + COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/Data/Sys/GC/* ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ + ) + add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD + COMMAND cp ARGS -r ${CMAKE_SOURCE_DIR}/Data/Sys/Shaders ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ + ) + + set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE}) +endif() diff --git a/Source/Core/DolphinWX/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp similarity index 99% rename from Source/Core/DolphinWX/MainAndroid.cpp rename to Source/Android/jni/MainAndroid.cpp index 0d1f4e6882..2cff486721 100644 --- a/Source/Core/DolphinWX/MainAndroid.cpp +++ b/Source/Android/jni/MainAndroid.cpp @@ -11,7 +11,7 @@ #include #include -#include "Android/ButtonManager.h" +#include "ButtonManager.h" #include "Common/CommonPaths.h" #include "Common/CommonTypes.h" diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 267ceff2be..25e6823470 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -47,6 +47,7 @@ macro(add_dolphin_library lib srcs libs) endmacro(add_dolphin_library) add_subdirectory(Core) +add_subdirectory(Android/jni) add_subdirectory(UnitTests) if (DSPTOOL) diff --git a/Source/Core/DolphinWX/CMakeLists.txt b/Source/Core/DolphinWX/CMakeLists.txt index 1c17ccd207..6cfd187380 100644 --- a/Source/Core/DolphinWX/CMakeLists.txt +++ b/Source/Core/DolphinWX/CMakeLists.txt @@ -73,13 +73,6 @@ endif() list(APPEND LIBS core uicommon) -if(ANDROID) - list(APPEND LIBS png) -endif() - -set(ANDROID_SRCS Android/ButtonManager.cpp - MainAndroid.cpp) - if(APPLE) if(wxWidgets_FOUND) list(APPEND WXLIBS @@ -109,35 +102,7 @@ if(GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND wxWidgets_FOUND GETTEXT_CREATE_TRANSLATIONS(${CMAKE_SOURCE_DIR}/Languages/po/dolphin-emu.pot ${LINGUAS}) endif() -if(ANDROID) - set(DOLPHIN_EXE main) - add_library(${DOLPHIN_EXE} SHARED ${SRCS} ${ANDROID_SRCS}) - target_link_libraries(${DOLPHIN_EXE} - log - android - "-Wl,--no-warn-mismatch" - "-Wl,--whole-archive" - ${LIBS} - "-Wl,--no-whole-archive" - ) - add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD - COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME} - ) - add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD - COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ - ) - add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD - COMMAND cp ARGS ${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}/lib${DOLPHIN_EXE}.so ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME}/ - ) - add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD - COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/Data/Sys/GC/* ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ - ) - add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD - COMMAND cp ARGS -r ${CMAKE_SOURCE_DIR}/Data/Sys/Shaders ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/ - ) - - set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE}) -elseif(wxWidgets_FOUND) +if(wxWidgets_FOUND) add_executable(${DOLPHIN_EXE} ${SRCS} ${GUI_SRCS}) target_link_libraries(${DOLPHIN_EXE} ${LIBS} ${WXLIBS}) if(APPLE) diff --git a/Source/Core/InputCommon/ControllerInterface/Android/Android.h b/Source/Core/InputCommon/ControllerInterface/Android/Android.h index 35b68cdd71..c108a86067 100644 --- a/Source/Core/InputCommon/ControllerInterface/Android/Android.h +++ b/Source/Core/InputCommon/ControllerInterface/Android/Android.h @@ -4,8 +4,8 @@ #pragma once -#include "DolphinWX/Android/ButtonManager.h" #include "InputCommon/ControllerInterface/Device.h" +#include "jni/ButtonManager.h" namespace ciface {