美文网首页
CMakeLists.txt模版

CMakeLists.txt模版

作者: 生活简单些 | 来源:发表于2019-02-09 15:48 被阅读4次
    cmake_minimum_required(VERSION 3.4.1)
    
    # 添加静态库,多个静态库可以用多个add_library
    add_library(
            native_app_glue
            STATIC
            ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
    
    # 添加共享库,一个CMakeLists.txt只有一个共享库
    add_library(
            native-lib
            SHARED
            plasma.c)
    
    # Export ANativeActivity_onCreate(),
    # Refer to: https://github.com/android-ndk/ndk/issues/381.
    # set指令有定义变量的作用,前者为变量名,后者为变量值
    set(CMAKE_SHARED_LINKER_FLAGS
            "${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
    
    target_include_directories(
            native-lib
            PRIVATE
            ${ANDROID_NDK}/sources/android/native_app_glue)
    
    # 将library路径重命名为一个变量,以下仅仅一个“log”,是因为log是预编译好的library,无需指定具体路径,指定名称即可:
    find_library( # Sets the name of the path variable.
            log-lib
    
            # Specifies the name of the NDK library that
            # you want CMake to locate.
            log)
    
    # 为了让你的library能调用到log library里的函数,你需要用以下命令将log library链接到你的library里. 也就是指定target library的依赖关系,你可以关联多个library,比如你在此CMakeLists.txt中定义的library、预编译好的第三方library以及系统library。
    # 如果要将find_library的library加入依赖,则以引用变量方式:${log-lib}:
    target_link_libraries(
            native-lib
            android
            native_app_glue
            log
            m)
    

    相关文章

      网友评论

          本文标题:CMakeLists.txt模版

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