• CMake笔记


    1.使用set命令显式定义变量及赋值

    2.变量使用${xxx}引用

    3.循环语句:

    1.Set(VAR a b c)
      Foreach(f ${VAR}) 
      …
      Endforeach(f)
    2.
    WHILE()
      … 
      ENDWHILE()

    4.CMAKE_CXX_COMPILER:指定C++编译器

    5.CMAKE_C_COMPILER:指定C编译器

    6.CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项

    7.EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径

    8.LIBRARY_OUTPUT_PATH:库文件路径

    9.CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug

    10.BUILD_SHARED_LIBS:生成动态/静态库

    11.aux_source_directory(<dir> <variable>),将所有变量保存在variable中

    12.message([SEND_ERROR | STATUS | FATAL_ERROR] "message to display" ...)   打印信息

    13.add_definitions添加编译宏选项

    14.add_dependencies 添加依赖项

    15.${projectname_SOURCE_DIR} 根源文件目录

    16.${ projectname _BINARY_DIR} 根二进制文件目录

    17.LESS、GREATER、EQUAL,数字比较

    18.STRLESS、STRGREATER、STREQUAL字串比较

    19.IF( APPLE ); IF( UNIX ); IF( WIN32 )跨平台编译

    20.# cmake .

       # make

     或者
     # mkdir build
    # cd build
    # cmake ..
    # make
    两种方法最大的不同在于执行cmake和make的工作路径不同

    内部构建:cmake生成的所有中间文件和可执行文件都会存放在项目目录中;称为“。而第二种方法中,中间文件和可执行文件都存放再build目录中。
    外部构建:它最大限度的保持了代码目录的整洁。同时由于第二种方法的生成、编译和安装是发生在不同于项目目录的其他目录中。cmake强烈推荐使用外部构建的方法。 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)



    21.
    add_subdirectory(plugins) 添加子文件夹
  • 相关阅读:
    vim文本替换命令
    Python线程优先级队列(Queue)
    Python线程同步
    Python使用Threading模块创建线程
    Python的isdigit()和isalpha()
    python判断unicode是否是汉字,数字,英文,或者其他字符
    理解Python的With语句
    K-means聚类算法(转)
    先验概率、后验概率以及共轭先验(转)
    经典动态规划python实现
  • 原文地址:https://www.cnblogs.com/gladiatorplus/p/14436922.html
Copyright © 2020-2023  润新知