CMake-api详解

2018-08-24  本文已影响0人  六_六

版本号

cmake_minimum_required(VERSION 3.4.1)

加载其他的cmake文件

add_subdirectory(src/main/cpp/librtmp)

set(my_lib_path ${CMAKE_SOURCE_DIR}/src/main/cpp/lib)

导入编译好的静态库

add_library(avutil STATIC IMPORTED)

设置导入的路径

set_target_properties(avutil PROPERTIES IMPORTED_LOCATION ${my_lib_path}/libavutil.a)

导入编译好的动态库

add_library(avutil SHARED IMPORTED)

设置导入的路径

set_target_properties(avutil PROPERTIES IMPORTED_LOCATION {my_lib_path}/{ANDROID_ABI}/libavutil.so)

导入编译好的静态库

add_library(swscale STATIC IMPORTED)

设置导入的路径

set_target_properties(swscale PROPERTIES IMPORTED_LOCATION ${my_lib_path}/libswscale.a)

导入编译好的静态库

add_library(x264 STATIC IMPORTED)

设置导入的路径

set_target_properties(x264 PROPERTIES IMPORTED_LOCATION ${my_lib_path}/libx264.a)

引入头文件夹

include_directories(src/main/cpp/include)

设置本地动态库

add_library( native-lib
SHARED
IMPORTED )
set_target_properties( native-lib
PROPERTIES IMPORTED_LOCATION
{my_lib_path}/{ANDROID_ABI}/libnative-lib.so )

set(CMAKE_C_FLAGS "{CMAKE_C_FLAGS} -fPIC -fpermissive -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__STDC_CONSTANT_MACROS" ) set(CMAKE_CXX_FLAGS "{CMAKE_CXX_FLAGS} -std=c++11")

file(GLOB my_source_path src/main/cpp/.cpp src/main/cpp/.c)

添加模块

add_library( #模块名
Dvr
# 动态库
SHARED
#源文件
${my_source_path} )

查找系统库

find_library(
#变量名
log-lib
#库名
log )

find_library(
#变量名
z-lib
#库名
z )

find_library(
#变量名
jnigraphics-lib
#库名
jnigraphics )

需要链接或者编译的库

target_link_libraries(
Dvr
rtmp
swscale
avutil
x264
{log-lib}{z-lib}
${jnigraphics-lib})

上一篇 下一篇

猜你喜欢

热点阅读