From 94b4f92bc523bbacf59d039da180eef363c29983 Mon Sep 17 00:00:00 2001 From: Philip Rideout Date: Fri, 14 Jun 2019 13:29:31 -0700 Subject: [PATCH] Android: move JNI C++ utils into a common folder. No need for a proper library, this is just a common location to simplify JNI bindings in other projects like filamat and gltfio. There is no need to move the one Java source file (`NioUtils.java`) since downstream libraries will have a dependency on Filament, and FindClass should work fine. --- .../src/main/cpp => common}/CallbackUtils.cpp | 0 .../src/main/cpp => common}/CallbackUtils.h | 4 ++-- .../src/main/cpp => common}/NioUtils.cpp | 2 +- .../src/main/cpp => common}/NioUtils.h | 0 android/filament-android/CMakeLists.txt | 7 ++++--- .../filament-android/src/main/cpp/IndexBuffer.cpp | 4 ++-- android/filament-android/src/main/cpp/Material.cpp | 2 +- .../filament-android/src/main/cpp/RenderTarget.cpp | 3 --- .../src/main/cpp/RenderableManager.cpp | 2 +- android/filament-android/src/main/cpp/Renderer.cpp | 4 ++-- android/filament-android/src/main/cpp/Stream.cpp | 4 ++-- android/filament-android/src/main/cpp/Texture.cpp | 4 ++-- .../filament-android/src/main/cpp/VertexBuffer.cpp | 4 ++-- java/filament/CMakeLists.txt | 13 ++++++++----- 14 files changed, 27 insertions(+), 26 deletions(-) rename android/{filament-android/src/main/cpp => common}/CallbackUtils.cpp (100%) rename android/{filament-android/src/main/cpp => common}/CallbackUtils.h (95%) rename android/{filament-android/src/main/cpp => common}/NioUtils.cpp (99%) rename android/{filament-android/src/main/cpp => common}/NioUtils.h (100%) diff --git a/android/filament-android/src/main/cpp/CallbackUtils.cpp b/android/common/CallbackUtils.cpp similarity index 100% rename from android/filament-android/src/main/cpp/CallbackUtils.cpp rename to android/common/CallbackUtils.cpp diff --git a/android/filament-android/src/main/cpp/CallbackUtils.h b/android/common/CallbackUtils.h similarity index 95% rename from android/filament-android/src/main/cpp/CallbackUtils.h rename to android/common/CallbackUtils.h index 526dc07036..4501db3fea 100644 --- a/android/filament-android/src/main/cpp/CallbackUtils.h +++ b/android/common/CallbackUtils.h @@ -18,8 +18,8 @@ #include -#include "CallbackUtils.h" -#include "NioUtils.h" +#include "common/CallbackUtils.h" +#include "common/NioUtils.h" #include diff --git a/android/filament-android/src/main/cpp/NioUtils.cpp b/android/common/NioUtils.cpp similarity index 99% rename from android/filament-android/src/main/cpp/NioUtils.cpp rename to android/common/NioUtils.cpp index 2a69aaf812..be4f637723 100644 --- a/android/filament-android/src/main/cpp/NioUtils.cpp +++ b/android/common/NioUtils.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "NioUtils.h" +#include "common/NioUtils.h" #include diff --git a/android/filament-android/src/main/cpp/NioUtils.h b/android/common/NioUtils.h similarity index 100% rename from android/filament-android/src/main/cpp/NioUtils.h rename to android/common/NioUtils.h diff --git a/android/filament-android/CMakeLists.txt b/android/filament-android/CMakeLists.txt index dee525447b..256417269f 100644 --- a/android/filament-android/CMakeLists.txt +++ b/android/filament-android/CMakeLists.txt @@ -35,7 +35,7 @@ set_target_properties(smol-v PROPERTIES IMPORTED_LOCATION ${FILAMENT_DIR}/lib/${ANDROID_ABI}/libsmol-v.a) -include_directories(${FILAMENT_DIR}/include) +include_directories(.. ${FILAMENT_DIR}/include) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-stack-protector") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti") @@ -74,9 +74,10 @@ add_library(filament-jni SHARED # Android specific src/main/cpp/nativewindow/Android.cpp # Private utils - src/main/cpp/CallbackUtils.cpp src/main/cpp/Filament.cpp - src/main/cpp/NioUtils.cpp + # Common utils + ../common/CallbackUtils.cpp + ../common/NioUtils.cpp ) target_link_libraries(filament-jni diff --git a/android/filament-android/src/main/cpp/IndexBuffer.cpp b/android/filament-android/src/main/cpp/IndexBuffer.cpp index e7f92d1fdd..f39906da17 100644 --- a/android/filament-android/src/main/cpp/IndexBuffer.cpp +++ b/android/filament-android/src/main/cpp/IndexBuffer.cpp @@ -22,8 +22,8 @@ #include -#include "CallbackUtils.h" -#include "NioUtils.h" +#include "common/CallbackUtils.h" +#include "common/NioUtils.h" using namespace filament; using namespace backend; diff --git a/android/filament-android/src/main/cpp/Material.cpp b/android/filament-android/src/main/cpp/Material.cpp index 366c3e9f78..115b727c62 100644 --- a/android/filament-android/src/main/cpp/Material.cpp +++ b/android/filament-android/src/main/cpp/Material.cpp @@ -18,7 +18,7 @@ #include -#include "NioUtils.h" +#include "common/NioUtils.h" using namespace filament; diff --git a/android/filament-android/src/main/cpp/RenderTarget.cpp b/android/filament-android/src/main/cpp/RenderTarget.cpp index 63d0f700ee..badd257304 100644 --- a/android/filament-android/src/main/cpp/RenderTarget.cpp +++ b/android/filament-android/src/main/cpp/RenderTarget.cpp @@ -22,9 +22,6 @@ #include -#include "CallbackUtils.h" -#include "NioUtils.h" - using namespace filament; using namespace backend; diff --git a/android/filament-android/src/main/cpp/RenderableManager.cpp b/android/filament-android/src/main/cpp/RenderableManager.cpp index 5ba9469494..18e722be7e 100644 --- a/android/filament-android/src/main/cpp/RenderableManager.cpp +++ b/android/filament-android/src/main/cpp/RenderableManager.cpp @@ -18,7 +18,7 @@ #include #include -#include "NioUtils.h" +#include "common/NioUtils.h" using namespace filament; using namespace utils; diff --git a/android/filament-android/src/main/cpp/Renderer.cpp b/android/filament-android/src/main/cpp/Renderer.cpp index a1faaee574..c0a51c7f8d 100644 --- a/android/filament-android/src/main/cpp/Renderer.cpp +++ b/android/filament-android/src/main/cpp/Renderer.cpp @@ -22,8 +22,8 @@ #include #include -#include "CallbackUtils.h" -#include "NioUtils.h" +#include "common/CallbackUtils.h" +#include "common/NioUtils.h" using namespace filament; using namespace backend; diff --git a/android/filament-android/src/main/cpp/Stream.cpp b/android/filament-android/src/main/cpp/Stream.cpp index 135f038e52..53e8097a8d 100644 --- a/android/filament-android/src/main/cpp/Stream.cpp +++ b/android/filament-android/src/main/cpp/Stream.cpp @@ -21,8 +21,8 @@ #include #include -#include "NioUtils.h" -#include "CallbackUtils.h" +#include "common/NioUtils.h" +#include "common/CallbackUtils.h" using namespace filament; using namespace backend; diff --git a/android/filament-android/src/main/cpp/Texture.cpp b/android/filament-android/src/main/cpp/Texture.cpp index 2f50b340ef..aaa3117c7c 100644 --- a/android/filament-android/src/main/cpp/Texture.cpp +++ b/android/filament-android/src/main/cpp/Texture.cpp @@ -28,8 +28,8 @@ #include #include -#include "CallbackUtils.h" -#include "NioUtils.h" +#include "common/CallbackUtils.h" +#include "common/NioUtils.h" using namespace filament; using namespace backend; diff --git a/android/filament-android/src/main/cpp/VertexBuffer.cpp b/android/filament-android/src/main/cpp/VertexBuffer.cpp index e53fdeff6e..7621937f41 100644 --- a/android/filament-android/src/main/cpp/VertexBuffer.cpp +++ b/android/filament-android/src/main/cpp/VertexBuffer.cpp @@ -24,8 +24,8 @@ #include #include -#include "CallbackUtils.h" -#include "NioUtils.h" +#include "common/CallbackUtils.h" +#include "common/NioUtils.h" using namespace filament; using namespace filament::math; diff --git a/java/filament/CMakeLists.txt b/java/filament/CMakeLists.txt index 51d9ea64aa..3d38d4044d 100644 --- a/java/filament/CMakeLists.txt +++ b/java/filament/CMakeLists.txt @@ -28,14 +28,16 @@ endif() # ================================================================================================== set(TARGET filament-jni) -include_directories(${JNI_INCLUDE_DIRS}) - set(CXX_STANDARD "-std=c++14") if (WIN32) set(CXX_STANDARD "/std:c++14") endif() -set(FILAMENT_DIR ../../android/filament-android) +set(ANDROID_DIR ../../android) +set(FILAMENT_DIR ${ANDROID_DIR}/filament-android) +set(COMMON_DIR ${ANDROID_DIR}/common) + +include_directories(${JNI_INCLUDE_DIRS} ${ANDROID_DIR}) set(JNI_SOURCE_FILES ${FILAMENT_DIR}/src/main/cpp/Camera.cpp @@ -61,11 +63,12 @@ set(JNI_SOURCE_FILES ${FILAMENT_DIR}/src/main/cpp/TransformManager.cpp ${FILAMENT_DIR}/src/main/cpp/View.cpp # Private utils - ${FILAMENT_DIR}/src/main/cpp/CallbackUtils.cpp ${FILAMENT_DIR}/src/main/cpp/Filament.cpp - ${FILAMENT_DIR}/src/main/cpp/NioUtils.cpp # Desktop specific ${FILAMENT_DIR}/src/main/cpp/nativewindow/JAWTUtils.cpp + # Common utils + ${COMMON_DIR}/CallbackUtils.cpp + ${COMMON_DIR}/NioUtils.cpp ) if (LINUX)