Skip to content

Commit 1fae6ce

Browse files
committed
half work
1 parent d05702c commit 1fae6ce

File tree

2 files changed

+48
-32
lines changed

2 files changed

+48
-32
lines changed

library/build.gradle

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
apply plugin: 'com.android.library'
22

3+
def usingCMakeCompile() {
4+
/// define gradle.ext.usingCMakeCompile = false to disable CMakeCompile Mode.
5+
return gradle.ext == null || !gradle.ext.has("usingCMakeCompile") || !gradle.ext.has("usingCMakeCompile");
6+
}
7+
38
android {
49
compileSdkVersion 25
10+
if(usingCMakeCompile()) {
11+
ndkVersion "24.0.8215888"
12+
}
513

614
defaultConfig {
715
minSdkVersion 14
@@ -11,8 +19,12 @@ android {
1119

1220
externalNativeBuild {
1321
cmake {
14-
cppFlags ""
15-
abiFilters 'armeabi-v7a'
22+
arguments "-DCGE_USE_VIDEO_MODULE=1",
23+
"-DANDROID_STL=c++_static",
24+
"-DANDROID_ARM_NEON=TRUE",
25+
"-DANDROID_GRADLE=1"
26+
27+
cppFlags "-frtti -std=c++14"
1628
}
1729
}
1830
}

library/src/main/jni/CMakeLists.txt

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,34 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
88
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -frtti -std=c++14")
99
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie")
1010

11-
if(NOT DEFINED ENV{NDK})
12-
execute_process(COMMAND which ndk-build OUTPUT_VARIABLE CGE_NDK_DIR)
13-
if("${CGE_NDK_DIR}" STREQUAL "")
14-
message(FATAL_ERROR "You should define the NDK variable!")
15-
else()
16-
execute_process(COMMAND export NDK=$(dirname `which ndk-build`))
17-
endif()
18-
endif()
19-
20-
execute_process(COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/setup_android_toolchain)
21-
22-
set(NDK_STANDALONE_TOOLCHAIN $ENV{NDK}/ndk-build-toolchain)
23-
message(${NDK_STANDALONE_TOOLCHAIN})
24-
set(CMAKE_SYSTEM_NAME AndroidARM)
25-
set(CMAKE_C_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/clang)
26-
set(CMAKE_CXX_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/clang++)
27-
set(CMAKE_FIND_ROOT_PATH ${NDK_STANDALONE_TOOLCHAIN})
11+
if (NOT DEFINED ANDROID_GRADLE)
12+
if (NOT DEFINED ENV{NDK})
13+
execute_process(COMMAND which ndk-build OUTPUT_VARIABLE CGE_NDK_DIR)
14+
if ("${CGE_NDK_DIR}" STREQUAL "")
15+
message(FATAL_ERROR "You should define the NDK variable!")
16+
else ()
17+
execute_process(COMMAND export NDK=$ (dirname `which ndk-build`))
18+
endif ()
19+
endif ()
20+
21+
execute_process(COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/setup_android_toolchain)
22+
23+
set(NDK_STANDALONE_TOOLCHAIN $ENV{NDK}/ndk-build-toolchain)
24+
message(${NDK_STANDALONE_TOOLCHAIN})
25+
set(CMAKE_SYSTEM_NAME AndroidARM)
26+
set(CMAKE_C_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/clang)
27+
set(CMAKE_CXX_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/clang++)
28+
set(CMAKE_FIND_ROOT_PATH ${NDK_STANDALONE_TOOLCHAIN})
29+
30+
add_definitions(--sysroot=${NDK_STANDALONE_TOOLCHAIN}/sysroot)
31+
if (DEFINED NDK_STANDALONE_TOOLCHAIN)
32+
include_directories(${NDK_STANDALONE_TOOLCHAIN}/sysroot/usr/include)
33+
endif ()
34+
endif ()
35+
36+
if (NOT DEFINED ANDROID_ABI)
37+
add_definitions(-DANDROID_ABI=arm64-v8a)
38+
endif ()
2839

2940
execute_process(COMMAND find ${CMAKE_CURRENT_SOURCE_DIR}/cge -maxdepth 3 -type d OUTPUT_VARIABLE CGE_CORE_HEADER_DIR)
3041
execute_process(COMMAND bash -c "find ${CMAKE_CURRENT_SOURCE_DIR} -type f -iname '*.cpp' | grep -v cmake" OUTPUT_VARIABLE CGE_CORE_SRC)
@@ -34,24 +45,17 @@ string(REGEX REPLACE "\n" ";" CGE_CORE_SRC ${CGE_CORE_SRC})
3445

3546
include_directories(
3647
${CGE_CORE_HEADER_DIR}
37-
${CMAKE_CURRENT_SOURCE_DIR}/include
38-
${CMAKE_CURRENT_SOURCE_DIR}/include/filters
48+
${CMAKE_CURRENT_SOURCE_DIR}/cge/common
49+
${CMAKE_CURRENT_SOURCE_DIR}/cge/extends
50+
${CMAKE_CURRENT_SOURCE_DIR}/cge/filters
3951
${CMAKE_CURRENT_SOURCE_DIR}/interface
40-
${CMAKE_CURRENT_SOURCE_DIR}/source
41-
${CMAKE_CURRENT_SOURCE_DIR}/faceTracker
42-
${CMAKE_CURRENT_SOURCE_DIR}/faceTracker/FaceTracker
43-
${CMAKE_CURRENT_SOURCE_DIR}/opencv
44-
${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg
45-
${NDK_STANDALONE_TOOLCHAIN}/sysroot/usr/include)
52+
${CMAKE_CURRENT_SOURCE_DIR}/custom
53+
${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg)
4654

47-
add_definitions(-DANDROID_NDK -DCGE_LOG_TAG=\"libCGE\" -DCGE_TEXTURE_PREMULTIPLIED=1 -D_CGE_USE_FFMPEG_ -D__STDC_CONSTANT_MACROS -D_CGE_DISABLE_GLOBALCONTEXT_ -O3 -ffast-math -D_CGE_ONLY_FILTERS_ -DANDROID_ARM_NEON -DANDROID_ABI=armeabi-v7a --sysroot=${NDK_STANDALONE_TOOLCHAIN}/sysroot)
48-
49-
50-
# file(GLOB_RECURSE FM_CORE_RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/facemagic/*.cpp")
55+
add_definitions(-DANDROID_NDK -DCGE_LOG_TAG=\"libCGE\" -DCGE_TEXTURE_PREMULTIPLIED=1 -D_CGE_USE_FFMPEG_ -D__STDC_CONSTANT_MACROS -D_CGE_DISABLE_GLOBALCONTEXT_ -O3 -ffast-math -D_CGE_ONLY_FILTERS_ -DANDROID_ARM_NEON)
5156

5257
add_library(CGE
5358
${CGE_CORE_SRC}
5459
)
5560

56-
5761
target_link_libraries(CGE)

0 commit comments

Comments
 (0)