Skip to content

Commit 55c2ad2

Browse files
committed
more convenients for android developer when reading code with the cmake.
加入了cmake编译,方便安卓开发者在阅读代码时使用上快捷方式,脱离刀耕火种
1 parent fad4d01 commit 55c2ad2

File tree

5 files changed

+130
-9
lines changed

5 files changed

+130
-9
lines changed

library/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
cmake_minimum_required(VERSION 3.4.1)
2+
3+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY src/main/jni/../jniLibs/${ANDROID_ABI})
4+
set(CMAKE_CXX_FLAGS " -frtti -std=gnu++11 -D_CGE_USE_FFMPEG_ -DDEBUG -DANDROID_NDK -DCGE_TEXTURE_PREMULTIPLIED=1 -D__STDC_CONSTANT_MACROS -D_CGE_DISABLE_GLOBALCONTEXT_ -O3 -ffast-math -D_CGE_ONLY_FILTERS_")
5+
6+
ADD_SUBDIRECTORY(src/main/jni/cge)
7+
ADD_SUBDIRECTORY(src/main/jni/source)

library/build.gradle

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,19 @@ android {
1010
versionCode 1
1111
versionName "2.4.6"
1212

13-
ndk {
14-
moduleName "CGE"
15-
// cFlags "-std=c++11 -DANDROID_NDK -DDEBUG -D_CGE_ONLY_FILTERS_ -D_CGE_STATIC_ASSERT_ -DCGE_TEXTURE_PREMULTIPLIED=1 -DCGE_LOG_TAG=\\\"libCGE\\\" -I${project.buildDir}/../src/main/jni/include -I${project.buildDir}/../src/main/jni/include/filters"
16-
// stl "gnustl_shared"
17-
//// abiFilters "all"
18-
// abiFilters "armeabi", "armeabi-v7a"
19-
// ldLibs "log", "android", "EGL", "GLESv2", "jnigraphics"
13+
externalNativeBuild {
14+
cmake {
15+
cppFlags ""
16+
abiFilters 'armeabi-v7a'
17+
}
18+
}
19+
}
20+
externalNativeBuild {
21+
cmake {
22+
path 'CMakeLists.txt'
2023
}
21-
2224
}
25+
2326
buildTypes {
2427
release {
2528
minifyEnabled false
@@ -31,7 +34,7 @@ android {
3134

3235
sourceSets.main {
3336
jniLibs.srcDir 'src/main/libs' //set libs as .so's location instead of jni
34-
jni.srcDirs = [] //disable automatic ndk-build call with auto-generated Android.mk file
37+
//jni.srcDirs = [] //disable automatic ndk-build call with auto-generated Android.mk file
3538
}
3639

3740
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
set(lib_DIR ../../../../src/main/libs/${ANDROID_ABI})
2+
set(CGE_ROOT ../)
3+
set(CGE_ROOT_C ${CGE_ROOT}/cge)
4+
set(CGE_INCLUDE ${CGE_ROOT}/include)
5+
set(CGE_FFMPEG ${CGE_ROOT}/ffmpeg)
6+
set(CGE_COMMON ${CGE_ROOT_C}/common)
7+
set(CGE_EXTENDS ${CGE_ROOT_C}/extends)
8+
set(CGE_FILTERS ${CGE_ROOT_C}/filters)
9+
set(CGE_INTERFACE ${CGE_ROOT}/interface)
10+
11+
include_directories(
12+
${CGE_INCLUDE}
13+
${CGE_ROOT}/interface
14+
${CGE_INCLUDE}/filters
15+
${CGE_ROOT}/ffmpeg
16+
${CGE_ROOT_C}
17+
)
18+
19+
add_library(libffmpeg SHARED IMPORTED)
20+
set_target_properties( libffmpeg
21+
PROPERTIES IMPORTED_LOCATION
22+
${lib_DIR}/libffmpeg.so )
23+
file(GLOB common_src ${CGE_COMMON}/*.cpp)
24+
file(GLOB extends ${CGE_EXTENDS}/*.cpp)
25+
file(GLOB filters ${CGE_FILTERS}/*.cpp)
26+
file(GLOB interface ${CGE_INTERFACE}/*.cpp)
27+
add_library(CGE SHARED
28+
${common_src}
29+
${extends}
30+
${filters}
31+
${interface}
32+
)
33+
find_library(log-lib
34+
log
35+
)
36+
find_library(egl-lib
37+
EGL
38+
)
39+
find_library(glesv2-lib
40+
GLESv2
41+
)
42+
find_library(graphics-lib
43+
jnigraphics
44+
)
45+
find_library(atomiclib
46+
atomic
47+
)
48+
target_link_libraries(CGE
49+
libffmpeg
50+
android
51+
${log-lib}
52+
${egl-lib}
53+
${glesv2-lib}
54+
${graphics-lib}
55+
${atomic}
56+
)
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
set(CGEExt_ROOT ../source)
2+
include_directories(
3+
${CGEExt_ROOT}
4+
${CGEExt_ROOT}/../include
5+
${CGEExt_ROOT}/../include/filters
6+
${CGEExt_ROOT}/../ffmpeg
7+
${CGEExt_ROOT}/../interface
8+
)
9+
10+
file(GLOB ext_cpp0 ${CGEExt_ROOT}/cgeVideoUtils.cpp)
11+
file(GLOB ext_cpp1 ${CGEExt_ROOT}/cgeCustomFilters.cpp)
12+
file(GLOB ext_cpp2 ${CGEExt_ROOT}/cgeCustomFilterWrapper.cpp)
13+
file(GLOB ext_cpp3 ${CGEExt_ROOT}/customHelper.cpp)
14+
file(GLOB ext_cpp4 ${CGEExt_ROOT}/customFilter_0.cpp)
15+
file(GLOB ext_cpp5 ${CGEExt_ROOT}/customFilter_N.cpp)
16+
add_library(CGEExt SHARED
17+
${ext_cpp0}
18+
${ext_cpp1}
19+
${ext_cpp2}
20+
${ext_cpp3}
21+
${ext_cpp4}
22+
${ext_cpp5}
23+
)
24+
25+
add_library(libffmpeg SHARED IMPORTED)
26+
set_target_properties( libffmpeg
27+
PROPERTIES IMPORTED_LOCATION
28+
../../../../src/main/libs/${ANDROID_ABI}/libffmpeg.so )
29+
30+
find_library(log-lib
31+
log
32+
)
33+
find_library(egl-lib
34+
EGL
35+
)
36+
find_library(glesv2-lib
37+
GLESv2
38+
)
39+
find_library(graphics-lib
40+
jnigraphics
41+
)
42+
find_library(atomiclib
43+
atomic
44+
)
45+
46+
47+
target_link_libraries(CGEExt
48+
CGE
49+
libffmpeg
50+
android
51+
${log-lib}
52+
${egl-lib}
53+
${glesv2-lib}
54+
${graphics-lib}
55+
)

0 commit comments

Comments
 (0)