美文网首页
cmake 基本语法

cmake 基本语法

作者: 可不期诺Cappuccino | 来源:发表于2024-02-20 15:29 被阅读0次
    cmake_minimum_required(VERSION 3.0)
    project(<工程名>)
    #将子目录添加到生成中
    add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM])
    
    
    cmake_minimum_required(VERSION 3.0)
    project(<工程名>)
    
    #终端输出当前工程目录
    message("Project PATH: ${PROJECT_SOURCE_DIR}")
    
    #设置编译目标输出路径
    SET(EXECUTABLE_OUTPUT_PATH <输出路径>)
    
    #设置编译参数
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++14 -fPIC -Wall")
    set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -O3 -std=c++14 -fPIC -Wall")
    add_compile_options(-std=c++14 -Wno-write-strings -Wno-unused-result -O3)
    add_definitions(-DFOO -DBAR ...)
    
    #库查找
    find_package(<package> [version] [EXACT] [QUIET] [MODULE]
                 [REQUIRED] [[COMPONENTS] [components...]]
                 [OPTIONAL_COMPONENTS components...]
                 [NO_POLICY_SCOPE])
    
    #引入头文件
    include_directories(<头文件路径>)
    target_include_directories(target <头文件路径>)
    #指定链接库路径
    link_directories(<链接库路径>)
    
    #查找在某个路径下的所有源文件,并将输出结果列表储存在指定的变量中
    aux_source_directory(<路径名>      <变量名>)
    #增加变量
    set(<变量名>   <值>)
    
    #指定编译输出
    add_library(<目标输出名> SHARED <所有源文件列表>)
    add_library(<目标输出名> STATIC <所有源文件列表>)
    add_executable(<目标输出名>   <所有源文件列表>)
    
    
    #单个目标输出指定链接库
    target_link_libraries(<工程名>  <所有链接的库列表>)
    #当前cmake下所有目标输出指定链接库
    link_libraries(<所有链接的库列表>)
    
    

    查找所有源文件

    #递归获取source/路径下所有的*.cpp和*.c文件列表
    file(GLOB_RECURSE <变量名> CONFIGURE_DEPENDS "source/*.cpp" "source/*.c")  
    #查找在某个路径下的所有源文件,并将输出结果列表储存在指定的变量中
    file(GLOB <变量名>CONFIGURE_DEPENDS  "source/*.cpp" "source/*.c")
    #查找在某个路径下的所有源文件,并将输出结果列表储存在指定的变量中
    aux_source_directory(<路径名>      <变量名>)
    

    相关文章

      网友评论

          本文标题:cmake 基本语法

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