美文网首页
CMakeList.txt文件详解

CMakeList.txt文件详解

作者: 真胖大海 | 来源:发表于2020-04-02 18:16 被阅读0次

    一.aux_source_directory(. DIR_SRCS)

    • 查找当前目录所有源文件 并将源文件列表保存到DIR_SRCS变量中
    • 不能查找子目录

    二.add_library

    2.1 添加一个库

    image.png

    add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROME_ALL]) source1 source2....sourceN

    # 将native-lib.cpp添加为名为native-lib的动态库
    add_lib rary( 
                 native-lib
                 SHARED
                 native-lib.cpp )
    

    三.Android 6.0以后导入预编译的库

    3.1 添加一个C的动态库
    CMAKE_C_FLAGS:是C的参数,表示动态库的位置,会传递给编译器

    image.png

    3.2 添加一个C++的动态库

    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L[SO所在目录]")
    

    四.include_directories

    设置头文件目录
    include_directories(./include ${MY_INCLUDE})

    • 设置头文件目录
    • 相当于g++选项中的-I参数

    五.add_executable

    设置可执行文件
    add_executable(<name> ${SRC_LIST})

    • name 可执行文件的名字
    • ${SRC_LIST} 可执行文件的文件

    六.target_link_libraries

    将若干库连接到目标库文件
    target_link_libraries(<name> lib1 lib2 lib3)

    七.file

    file命令

    八.多源文件处理

    使用aux_source_directory或者file将多个源文件保存到变量中

    #查找当前目录所有源文件,不查找子目录
    aux_source_directory(. DIR_SRCS)
    # 也可以 
    # file(GLOB DIR_SRCS *.c *.cpp)
    
    add_library(
        native-lib
       SHARED
       ${DIR_SRCS}
    )
    

    一些内置变量

    • ${CMAKE_SOURCE_DIR} CMakeLists.txt所在目录

    例子
    引入so库

    相关文章

      网友评论

          本文标题:CMakeList.txt文件详解

          本文链接:https://www.haomeiwen.com/subject/huqwuhtx.html