• CMakeList.txt文件常见命令解析


     1 cmake_minimum_required(VERSION 2.8)
     2 project(bitstream)
     3 
     4 set(CMAKE_CXX_STANDARD 11)
     5 set(ROOT_DIR /home/lyu/workspace/procise_v9/procise) # 设置变量ROOT_DIR后面是变量的值
     6 
     7 set(CMAKE_MODULE_PATH "${ROOT_DIR}") # 7,8行添加CMmakeLists.txt中的公共部分,提取出来存储在${ROOT_DIR}目录下,这个文件的命名格式是 xxxxx.cmake,以.cmake为后缀,才能识别
     8 include(common) #添加common.cmake文件
     9 
    10 SET(INCLUDE_PATH ${ROOT_DIR}/include ${COM_INCLUDE_PATH}) # 10,11,12 添加头文件所在的目录到变量INCLUDE_PATH,12行包含进去
    11 message("${INCLUDE_PATH}")
    12 INCLUDE_DIRECTORIES(${INCLUDE_PATH})
    13 
    14 aux_source_directory(. DIR_SRCS) # 扫描当前目录下所有的源文件添加到变量DIR_SRCS
    15 add_library(bitstream STATIC ${DIR_SRCS}) # 项目的输出是library,名字是bitstream,静态库,编译的源文件是变量DIR_SRCS中的值
    16 target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick Qt5::Widgets Qt5::Charts) # 编译该项目需要链接的外部库

    如果项目的编译输出是可执行文件,使用 add_executeable()命令,如下

    1  #add_executeable(${PROJECT_NAME} DIR_SRCS) #项目的输出是可执行文件,名字是变量PROJECT_NAME的值,源文件是变量DIR_SRCS的值

    如果大项目下面包含多个小项目,均需要在每一个小项目下面新建一个CMakeLists.txt,在大项目的顶层的CMakeLists.txt中添加 add_subdirectory()命令,并通过target_link_libraries()将小项目的库添加到大项目中进行链接,如下:

    1 add_subdirectory(${ROOT_DIR}/src/bitstream)
    2 target_link_libraries(${PROJECT_NAME} bitstream.a)
  • 相关阅读:
    ASP.NET Core的配置信息
    ASP .NET Core 建立列表和表单View
    ASP.NET Core 如何使用Mvc相关技术建立Controller、Tag Helper (下)
    MySQL日志突然暴涨
    MySQL函数索引及优化
    MySQL统计库表大小
    MySQL8.0窗口函数实践及小结
    MySQL按指定字符合并及拆分
    分享2个近期遇到的MySQL数据库的BUG案例
    mysql大表在不停机的情况下增加字段该怎么处理
  • 原文地址:https://www.cnblogs.com/yulei0713/p/12523127.html
Copyright © 2020-2023  润新知