zoukankan      html  css  js  c++  java
  • 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) 添加子文件夹
  • 相关阅读:
    CentOS6.5安装Tab增强版:bash-completion
    005_linux下logrotate 配置和理解
    ITIL与ITSM的联系与区别
    C++----练习--bool类型作为特别的int要区别对待
    C++----练习--while求和
    C++----练习
    mysql----二进制包安装
    linux----ulimit 限制
    python----特性003
    python----特性002
  • 原文地址:https://www.cnblogs.com/gladiatorplus/p/14436922.html
Copyright © 2011-2022 走看看