zoukankan      html  css  js  c++  java
  • cmake语法

    添加子目录

    add_subdirectory(dir)

    添加指定目录下可识别的源码文件到变量

    aux_source_directory(path _SRC)

    过滤部分文件

    list(REMOVE_ITEM _SRC file1 file2 ...)

    复制文件

    configure_file(src_file dst COPYONLY)

    添加可执行文件

    add_executable(target file1 file2 ...)
    如果只是定义目标,暂时不包含源文件可以这样定义:add_executable(target "")

    添加动态库

    add_library(libname SHARED ${LIB_SRC})

    添加静态库

    add_library(libname STATIC ${LIB_SRC})

    添加头文件目录

    INCLUDE_DIRECTORIES()

    添加链接目录

    link_directories(dir1 dir2 dir3 ...)

    设置链接库

    target_link_libraries(target library1 <debug | optimized> library2 ...)

    设置目标输出名称(需要写在ADD_xxx后面)

    SET_TARGET_PROPERTIES(target PROPERTIES OUTPUT_NAME new_name)

    设置构建时不清理已有目标

    SET_TARGET_PROPERTIES(target PROPERTIES CLEAN_DIRECT_OUTPUT 1)

    添加宏

    add_definitions(-Dxxx -Dxxx)

    设置编译选项

    add_compile_options
    set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")

    为指定目标设置编译选项

    SET_TARGET_PROPERTIES(target PROPERTIES COMPILE_FLAGS "-Dxxx -fxxx")

    使能汇编

    ENABLE_LANGUAGE( ASM)

    交叉编译

    SET(CMAKE_SYSTEM_NAME Linux)
    SET(CMAKE_C_COMPILER /opt/arm-linux-gcc)
    SET(CMAKE_CXX_COMPILER /opt/arm-linux-g++)

    设置链接脚本

    set_target_properties(${TARGET_NAME} PROPERTIES LINK_DEPENDS ${LINKER_SCRIPT})

    常用环境变量

    工程顶层目录

    PROJECT_SOURCE_DIR

    编译目录

    CMAKE_BINARY_DIR

    当前CMakeLists.txt所在目录

    CMAKE_CURRENT_LIST_DIR

  • 相关阅读:
    CDOJ 92 – Journey 【LCA】
    LCA-Tarjan算法
    【模板】无向图的割顶
    Codeforces 190E
    TwoSAT算法模板
    【转】STL之二分查找 (Binary search in STL)
    【转】数论模板
    【转】计算几何模板
    【转】string常用函数
    Codeforces 245G Suggested Friends
  • 原文地址:https://www.cnblogs.com/zl-yang/p/9118236.html
Copyright © 2011-2022 走看看