精华内容
参与话题
问答
  • CMake变量

    2018-08-23 14:00:13
    CMake变量 1.提供信息的变量 CMAKE_ARGC 命令行运行cmake的时候传入的参数的个数 CMAKE_ARGV0 命令行运行时的第一个参数,以此类推CMAKE_ARG1 CMAKE_ARG2… CMAKE_AR 编译使用的archive ...

    CMake变量


    1.提供信息的变量

    1. CMAKE_ARGC

    命令行运行cmake的时候传入的参数的个数

    1. CMAKE_ARGV0

    命令行运行时的第一个参数,以此类推CMAKE_ARG1 CMAKE_ARG2…

    1. CMAKE_AR

    编译使用的archive tool 的名称

    1. CMAKE_BINARY_DIR

    输出的最顶层目录,如何使代码内部编译的话则与变量CMAKE_SOURCE_DIR一致

    1. CMAKE_BUILD_TOOL

    内容与CMAKE_MAKE_PROGRAM一致

    1. CMAKE_CACHEFILE_DIR

    CMakeCache.txt所在的路径

    1. CMAKE_CACHE_MAJOR_VERSION

    创建CMakeCache.txt的cmake的Major版本号

    1. CMAKE_CACHE_MINOR_VERSION

    创建CMakeCache.txt的cmake的Minor版本号

    1. CMAKE_CACHE_PATCH_VERSION

    创建CMakeCache.txt的cmake的Patch版本号

    1. CMAKE_CFG_INTDIR
    1. CMAKE_COMMAND

    CMake可执行文件的全路径

    1. CMAKE_CROSSCOMPILING

    CMake是否正在执行交叉编译

    1. CMAKE_CTEST_COMMAND

    ctest的全路径

    1. CMAKE_CURRENT_BINARY_DIR

    当前的二进制输出目录,在cmake中每个add_subdirectory都会增加一个二进制输出目录,而这个变量则表示当前cmake正进入的那个subdirectory所对应的二进制输出目录

    1. CMAKE_CURRENT_LIST_DIR

    CMake当前执行的cmakelists.txt所在的目录

    1. CMAKE_CURRENT_LIST_FILE

    CMake当前执行的cmakelists.txt的全路径

    1. CMAKE_CURRENT_LIST_LINE

    当前执行cmakelists.txt所在的行

    1. CMAKE_CURRENT_SOURCE_DIR

    CMake当前处理的源码的目录

    1. CMAKE_DL_LIBS

    2. CMAKE_EDIT_COMMAND

    cmakegui或ccmake可执行程序所在目录,这个变量只有在cmake_generator被设置为makefile类型的时候才会被设置。可以图形化编辑cmake cache的程序

    1. CMAKE_EXECUTABLE_SUFFIX

    设置可执行文件生成的后缀名,如windows的.exe

    1. CMAKE_EXTRA_GENERATOR

    当用Eclipse、CodeBlock、KDevelop 这些编译器的时候,cmake生成makefiles文件和与上述ide相关的工程文件,而CMAKE_EXTRA_GENERATOR变量就是存储这些工程文件的生成器路径

    1. CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES

    动态链接库的附加后缀名,不同于CMAKE_SHARE_LIBRARY_SUFFIX,CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES用于在寻找导入依赖库的时候进行识别与分析

    1. CMAKE_GENERATOR

    当前使用的编译生成器

    1. CMAKE_GENERATOR_TOOLSET

    2. CMAKE_HOME_DIRECTORY

    顶层源码目录

    1. CMAKE_IMPORT_LIBRARY_PREFIX

    导入库所使用的前缀

    1. CMAKE_IMPORT_LIBRARY_SUFFIX

    导入库使用的后缀

    1. CMAKE_JOB_POOL_COMPILE

    2. CMAKE_JOB_POOL_LINK

    3. CMAKE_LINK_LIBRARY_SUFFIX

    连接静态库的后缀名

    1. CMAKE_MAJOR_VERSION

    CMake版本

    1. CMAKE_MAKE_PROGRAM

    指编译工具的全路径或者文件名,这个变量取决于CMAKE_GENERATOR。
    1. 如何使makefile的生成工具,那么这个变量被设置为 make、gmake或nmake
    2. 如果是Ninjia,被设置为ninjia
    3. 如果是xcode,被设置为xcodebuild
    4. 如果是visual studio,CMAKE_MAKE_PROGRAM将根据VS版本不同设置成一下exe的全路径
    + msbuild.exe (VS>10)
    + devenv.exe (VS 7,8,9)
    + VCExpress.exe (VS 8,9)
    + msdev.exe (VS 6)

    1. CMAKE_MINIMUM_REQUIRED_VERSION

    由函数cmake_minimum_required指定

    1. CMAKE_MINOR_VERSION

    CMake版本

    1. CMAKE_PARENT_LIST_FILE

    include当前目录的cmakelists.txt所在目录

    1. CMAKE_PATCH_VERSION

    CMake版本

    1. CMAKE_PROJECT_NAME

    工程名

    1. CMAKE_RANLIB

    2. CMAKE_ROOT

    cmake程序所在目录

    1. CMAKE_SCRIPT_MODE_FILE

    cmake 脚本模式下脚本的全路径

    1. CMAKE_SHARED_LIBRARY_PREFIX

    连接的动态库使用的前缀

    1. CMAKE_SHARED_LIBRARY_SUFFIX

    连接的动态库使用的后缀

    1. CMAKE_SHARED_MODULE_PREFIX

    连接的可加载模块使用的前缀

    1. CMAKE_SHARED_MODULE_SUFFIX

    连接的可加载模块使用的后缀

    1. CMAKE_SIZEOF_VOID_P

    void类型指针的大小

    1. CMAKE_SKIP_INSTALL_RULES

    cmake是否跳过生成安装规则

    1. CMAKE_SKIP_RPATH

    2. CMAKE_SOURCE_DIR

    顶层源码目录

    1. CMAKE_STANDARD_LIBRARIES

    标准的链接库,他们将被连接到每一个生成的可执行程序和动态链接库中

    1. CMAKE_STATIC_LIBRARY_PREFIX

    链接的静态链接库所使用的前缀

    1. CMAKE_STATIC_LIBRARY_SUFFIX

    链接的静态链接库所使用的后缀


    2.控制CMake行为的变量

    1. BUILD_SHARED_LIBS

    如果设置为on,那么add_library将创建动态链接库

    1. CMAKE_ABSOLUTE_DESTINATION_FILES

    已经安装的文件列表

    1. CMAKE_BUILD_TYPE

    指定编译的配置

    1. CMAKE_COLOR_MAKEFILE

    指定makefile编译输出是否带颜色

    1. CMAKE_CONFIGURATION_TYPES

    指定支持多配置编译器的编译配置,比如visual studio 里边的配置集

    1. CMAKE_DEBUG_TARGET_PROPERTIES

    DEBUG配置所设置的属性

    1. CMAKE_DISABLE_FIND_PACKAGE_

    对于find_package中没有设置为require的类型的package,如果设置了这个变量为TRUE的话,那么会跳过这个查找

    1. CMAKE_FIND_LIBRARY_PREFIXES

    在查找链接库时候使用的前缀

    1. CMAKE_FIND_LIBRARY_SUFFIXES

    在查找链接库时候使用的后缀

    1. CMAKE_IGNORE_PATH

    find_xxx()中忽略的路径

    1. CMAKE_INCLUDE_PATH

    find_file()和find_path()中使用的路径

    1. CMAKE_INCLUDE_DIRECTORIES_BEFORE

    是否默认在include_directories()中添加一系列路径

    1. CMAKE_INSTALL_PREFIX

    安装的根目录

    1. CMAKE_LIBRARY_PATH

    find_library()所使用的路径

    1. CMAKE_MFC_FLAG

    Visual studio 中设置是否使用MFC
    1 在静态库中使用MFC
    2 在动态DLL中使用MFC
    0 使用标准windows库

    1. CMAKE_MODULE_PATH

    cmake modules的搜索路径

    1. CMAKE_PROGRAM_PATH

    find_program()的搜索路径


    3.描述系统信息的变量

    1. APPLE

    如果运行在苹果系统,那么这个变量为TRUE

    1. BORLAND

    如果编译器为Borland compiler,那么这个变量为TRUE

    1. CMAKE_CL_64

    为TRUE,则说明使用64位的微软编译器

    1. CMAKE_COMPILER_2005

    为TRUE表示使用Visual studio 2005编译

    1. CMAKE_HOST_APPLE

    为TRUE则表示本机主机为Apple OS X系统

    1. CMAKE_HOST_SYSTEM_NAME

    本机操作系统名

    1. CMAKE_HOST_SYSTEM_PROCESSOR

    本机CPU名

    1. CMAKE_HOST_SYSTEM

    本机系统名

    1. CMAKE_HOST_SYSTEM_VERSION

    本机系统版本

    1. CMAKE_HOST_UNIX

    为TRUE表示本机为UNIX 或者UNIX LIKE的其他操作系统

    1. CMAKE_HOST_WIN32

    为TRUE表示本机为windows系统,包括32位还有64位,还包括cygwin

    1. CMAKE_SYSTEM_NAME

    交叉编译中目标机器的系统名

    1. CMAKE_SYSTEM_PROCESSOR

    交叉编译中目标机器的处理器

    1. CMAKE_SYSTEM

    交叉编译中目标机器的系统名,由CMAKE_SYSTEM_NAME和CMAKE_SYSTEM_VERSION组成

    1. CMAKE_SYSTEM_VERSION

    交叉编译中目标机器的系统版本

    1. CYGWIN

    为TRUE则说明使用的是CYGWIN编译

    1. ENV

    用来访问系统变量,比如在windows中访问PATH变量的值,可以这么表示$ENV{‘path’}

    1. MSVC10

    TRUE表示当前使用的是Visual C 10.0,即对应Visual studio 2010

    1. MSVC11

    TRUE表示当前使用的是Visual C 11.0,即对应Visual studio 2012

    1. MSVC12

    TRUE表示当前使用的是Visual C 12.0,即对应Visual studio 2013

    1. MSVC60

    TRUE表示当前使用的是Visual C 6.0,即对应Visual c++ 6.0

    1. MSVC70

    TRUE表示当前使用的是Visual C 7.0,即对应Visual c++ 7.0

    1. MSVC71

    TRUE表示当前使用的是Visual C 7.1,即对应Visual studio 2003

    1. MSVC80

    TRUE表示当前使用的是Visual C 8.0,即对应Visual studio 2005

    1. MSVC90

    TRUE表示当前使用的是Visual C 9.0,即对应Visual studio 2008

    1. MSVC_IDE

    TRUE表示是使用Visual studio IDE编译

    1. MSVC

    TRUE表示使用微软的Visual C编译

    1. MSVC_VERSION

    Visual C版本号
    msvc++ 5.0 1100
    msvc++ 6.0 1200
    msvc++ 7.0 1300
    msvc++ 7.1 1310
    msvc++ 8.0 1400
    msvc++ 9.0 1500
    msvc++ 10.0 1600
    msvc++ 11.0 1700
    msvc++ 12.0 1800
    msvc++ 14.0 1900

    1. UNIX

    True表示系统为UNIX或UNIX-like的系统

    1. WIN32

    True表示为windows系统,包括32位和64位

    1. XCODE_VERSION

    如果使用的是xcode编译,那么表示XCODE的版本号

    展开全文
  • cmake变量

    千次阅读 2013-04-18 17:20:58
    一,cmake 变量引用的方式:前面我们已经提到了,使用${}进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过${}取值二,cmake 自定义变量的方式:主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 ...
    一,cmake 变量引用的方式:
    前面我们已经提到了,使用${}进行变量的引用。在 IF 等语句中,是直接使用变量名而不
    通过${}取值
    二,cmake 自定义变量的方式:
    主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令,他
    会隐式的定义<projectname>_BINARY_DIR 和<projectname>_SOURCE_DIR 两个变
    量。
    显式定义的例子我们前面也提到了,使用 SET 指令,就可以构建一个自定义变量了。
    比如:
    SET(HELLO_SRC main.SOURCE_PATHc),就 PROJECT_BINARY_DIR 可以通过
    ${HELLO_SRC}来引用这个自定义变量了.
    三,cmake 常用变量:
    1,CMAKE_BINARY_DIR
    PROJECT_BINARY_DIR
    <projectname>_BINARY_DIR
    这三个变量指代的内容是一致的,如果是 in source 编译,指得就是工程顶层目录,如果
    是 out-of-source 编译,指的是工程编译发生的目录。PROJECT_BINARY_DIR 跟其他
    指令稍有区别,现在,你可以理解为他们是一致的。
    2,CMAKE_SOURCE_DIR
    PROJECT_SOURCE_DIR
    <projectname>_SOURCE_DIR
    这三个变量指代的内容是一致的,不论采用何种编译方式,都是工程顶层目录。
    也就是在 in source 编译时,他跟 CMAKE_BINARY_DIR 等变量一致。
    PROJECT_SOURCE_DIR 跟其他指令稍有区别,现在,你可以理解为他们是一致的。
    3,CMAKE_CURRENT_SOURCE_DIR
    指的是当前处理的 CMakeLists.txt 所在的路径,比如上面我们提到的 src 子目录。
    4,CMAKE_CURRRENT_BINARY_DIR
    如果是 in-source 编译,它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-
    source 编译,他指的是 target 编译目录。
    使用我们上面提到的 ADD_SUBDIRECTORY(src bin)可以更改这个变量的值。
    使用 SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对这个变量造成影响,它仅仅
    修改了最终目标文件存放的路径。
    5,CMAKE_CURRENT_LIST_FILE
    输出调用这个变量的 CMakeLists.txt 的完整路径
    6,CMAKE_CURRENT_LIST_LINE
    输出这个变量所在的行
    7,CMAKE_MODULE_PATH
    这个变量用来定义自己的 cmake 模块所在的路径。如果你的工程比较复杂,有可能会自己
    编写一些 cmake 模块,这些 cmake 模块是随你的工程发布的,为了让 cmake 在处理
    CMakeLists.txt 时找到这些模块,你需要通过 SET 指令,将自己的 cmake 模块路径设
    置一下。
    比如
    SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
    这时候你就可以通过 INCLUDE 指令来调用自己的模块了。
    8,EXECUTABLE_OUTPUT_PATH 和 LIBRARY_OUTPUT_PATH
    分别用来重新定义最终结果的存放目录,前面我们已经提到了这两个变量。
    9,PROJECT_NAME
    返回通过 PROJECT 指令定义的项目名称。
    四,cmake 调用环境变量的方式
    使用$ENV{NAME}指令就可以调用系统的环境变量了。
    比如
    MESSAGE(STATUS “HOME dir: $ENV{HOME}”)
    设置环境变量的方式是:
    SET(ENV{变量名} 值)
    1,CMAKE_INCLUDE_CURRENT_DIR
    自动添加 CMAKE_CURRENT_BINARY_DIR 和 CMAKE_CURRENT_SOURCE_DIR 到当前处理
    的 CMakeLists.txt。相当于在每个 CMakeLists.txt 加入:
    INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}
    ${CMAKE_CURRENT_SOURCE_DIR})
    2,CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
    将工程提供的头文件目录始终至于系统头文件目录的前面,当你定义的头文件确实跟系统发
    生冲突时可以提供一些帮助。
    3,CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 我们在上一节已经提及。
    五,系统信息
    1,CMAKE_MAJOR_VERSION,CMAKE 主版本号,比如 2.4.6 中的 2
    2,CMAKE_MINOR_VERSION,CMAKE 次版本号,比如 2.4.6 中的 4
    3,CMAKE_PATCH_VERSION,CMAKE 补丁等级,比如 2.4.6 中的 6
    4,CMAKE_SYSTEM,系统名称,比如 Linux-2.6.22
    5,CMAKE_SYSTEM_NAME,不包含版本的系统名,比如 Linux
    6,CMAKE_SYSTEM_VERSION,系统版本,比如 2.6.22
    7,CMAKE_SYSTEM_PROCESSOR,处理器名称,比如 i686.
    8,UNIX,在所有的类 UNIX 平台为 TRUE,包括 OS X 和 cygwin
    9,WIN32,在所有的 win32 平台为 TRUE,包括 cygwin
    六,主要的开关选项:
    1,CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS,用来控制 IF ELSE 语句的书写方式,在
    下一节语法部分会讲到。
    2,BUILD_SHARED_LIBS
    这个开关用来控制默认的库编译方式,如果不进行设置,使用 ADD_LIBRARY 并没有指定库
    类型的情况下,默认编译生成的库都是静态库。
    如果 SET(BUILD_SHARED_LIBS ON)后,默认生成的为动态库。
    3,CMAKE_C_FLAGS
    设置 C 编译选项,也可以通过指令 ADD_DEFINITIONS()添加。
    4,CMAKE_CXX_FLAGS
    设置 C++编译选项,也可以通过指令 ADD_DEFINITIONS()添加。
    小结:
    本章介绍了一些较常用的 cmake 变量,这些变量仅仅是所有 cmake 变量的很少一部分,目
    前 cmake 的英文文档也是比较缺乏的,如果需要了解更多的 cmake 变量,更好的方式是阅
    读一些成功项目的 cmake 工程文件,比如 KDE4 的代码。

    展开全文
  • cmake 变量

    2017-03-28 17:28:00
    1.1 什么是普通的cmake变量 1.2 什么是cmake cache变量 cmake cache entry是cmake-gui使用的变量,它是一种用户可以在cmake的ui中设置的变量。 1.3 什么是cmake环境变量 1.4 普通的cmake变量、cmake cac...

    1 normal variable、cache variable、environment variable

    1.1 什么是普通的cmake变量

    1.2 什么是cmake cache变量

    cmake cache entry是cmake-gui使用的变量,它是一种用户可以在cmake的ui中设置的变量。

    1.3 什么是cmake环境变量

     

    1.4 普通的cmake变量、cmake cache变量和cmake环境变量有什么区别

     

    2 如何设置cmake的普通变量、cache变量和环境变量?

    2.1 cmake环境变量

    2.1.1 设置cmake环境变量

    set(ENV{<variable>} <value>)

    2.1.2 使用cmake环境变量

    $ENV{<variable>}

     

    3 cmake内置变量

    3.1 CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS

    cmake中的逻辑和它的变量引用一样繁琐,每个关键词都需要跟上条件或者循环变量,如:
    if(win32)
        ...
    else(win32)
        ...
    endif(win32)
    set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON),设置该变量开关可以省掉条件,但括号还需保留。
    if(win32)
        ...
    else()
        ...
    endif()

     

    转载于:https://www.cnblogs.com/hustdc/p/6635927.html

    展开全文
  • CMAKE 变量管理

    千次阅读 2019-05-05 15:59:57
    CMake变量有其作用域,分全局作用域和局部作用域。 局部作用域变化: 1.在切换目录(即CMakeLists.txt变化) 2.调用函数时变化 3.macro不改变作用域。 局部变量 设置变量 set(<variable> <value>... ...

    变量分类

    CMake的变量有其作用域,分全局作用域和局部作用域。
    局部作用域变化:
    1.在切换目录(即CMakeLists.txt变化)
    2.调用函数时变化
    3.macro不改变作用域。

    局部变量

    设置变量

    set(<variable> <value>... [PARENT_SCOPE])
    

    set(<var "ABC" PARENT_SCOPE) # PARENT_SCOPE指父作用域,使用此参数则父作用域必须有此名的变量
    

    在处理字符串列表,set命令会自动将处理变量

    set(MY_LIST "one" "two")
    

    等同于

    set(MY_LIST "one;two")
    

    删除变量

    unset(<variable>)
    

    使用中遇到bug

    项目中,CMAKE分两级目录。
    在父级CMakeLists.txt中

    set(ABC_Version 1.1.1)
    add_subdirectory(子目录)
    message(STATUS ABC_Version1 ${ABC_Version}
    

    在子目录CMakeLists.txt中

    set(ABC_Version 9.9.9 PARENT_SCOPE)
    message(STATUS ABC_Version2 ${ABC_Version}
    

    结果输出

    ABC_Version2 1.1.1   !!!非常让人困惑!!!
    ABC_Version1 9.9.9
    

    我使用的Cmake版本3.13.3,我猜测在为PARENT_SCOPE的同名变量赋值前,当前作用域先复制一个副本,在当前作用或中输出的是本作用域的内容,所以出现如上效果。
    建议:

    1. 横跨多个作用域的变量,使用使用Cache变量
    2. 子作用域访问父作用域,只允许读,不允许写

    Cache变量

    设置变量

    cache变量全部是全局变量,变量的值可以在CMakeCache.txt中找到,如CMAKE_INSTALL_PREFIX。变量设置方式如下:

    set(<variable> <value>... CACHE <type> <docstring> [FORCE])
    

    < type >变量说明

    类型 内容 cmake-gui效果
    BOOL bool值,只有ON/OFF两种个值 checkBox,等同效果于OPTION
    FILEPATH 文件路径 文件对话框
    PATH 目录路径 路径对话框
    STRING 字符串 输入框或内容为string列表的comboBox
    INTERNAL 字符串 不在界面显示,使用此类型,则默认FORCE

    删除变量

    unset(<variable> CACHE)
    

    特殊情况说明

    变量作用时间

    以下脚本,运行一次

    set(abc "123" CACHE STRING "")
    message("Variable from cache: ${abc}")
    

    再修改为如下,再运行

    set(abc "456" CACHE STRING "")
    message("Variable from cache: ${abc}")
    

    两次结果都是123,CACHE仍然使用之前的值

    通过"-D"预定义变量

    在之前脚本基础上,从命令行设定变量内容

    ~/dir> cmake -Dabc=444
    

    输出结果为
    Variable from cache: 444
    说明,未设置FOCE的Cache变量,可通过在命令行通过-D修改

    使用FORCE的Cache变量

    命令行仍然使用相同命令,但Cmake内容修改如下:

    set(abc "456" CACHE STRING "")
    message("Variable from cache: ${abc}")
    

    则输出
    Variable from cache: 456
    说明,设置FOCE的Cache变量,命令行通过-D无法修改
    原帖作用给出建议:
    使用FORCE说明编写的 CMake 代码设计不好.

    枚举Cache变量

    set(FOO_CRYPTO "OpenSSL" CACHE STRING "Backend for cryptography")
    set_property(CACHE FOO_CRYPTO PROPERTY STRINGS "OpenSSL;Libgcrypt;WinCNG")
    

    效果:
    在这里插入图片描述

    高级变量

    使用mark_as_advanced(<variable>)的variable,在cmake-gui中点击了"Advanced"才会出现

    环境变量

    设置变量

    set(ENV{<variable>} [<value>])
    

    set(ENV{Boost_ROOT} "/usr/include")
    

    属性

    除设置变量外,CMake可通过属性保存信息,属性保存在特定对象上,如目录或target。如下:

    set_property(TARGET TargetName
                 PROPERTY CXX_STANDARD 11)
    
    set_target_properties(TargetName PROPERTIES
                          CXX_STANDARD 11)
    
    • 前一个更加常用,可为targets/files/tests一次设定属性
      -后一个为单个target设置属性,但一次可设置多个属性
      获取属性的方式
    get_property(ResultVariable TARGET TargetName PROPERTY CXX_STANDARD)
    

    总结及建议

    1. 需要全局变量或跨多个层级的变量是使用Cache变量
    2. Cache变量非常适用于用户更改自定义值
    3. Cache变量要加适当的前缀,防止在多个子目录使用同个变量名时出错
    4. 子目录只读父目录的值,不要写

    参考

    CMake官方set函数说明
    参考1
    参考2
    cmake变量汇总

    展开全文
  • cmake变量 试验

    千次阅读 2016-12-12 16:20:43
    FIND_PACKAGE(PCL 1.7 REQUIRED) FIND_PACKAGE(OpenCV 3.0.0 REQUIRED COMPONENTS core highgui calib3d) INCLUDE_DIRECTORIES(  ${PCL_INCLUDE_DIRS} ... ${CMAKE_CURRENT_BINARY_DIR}  ${
  • cmake 变量总结

    2020-12-03 22:00:27
    缓存变量set(abc "123" CACHE STRING ""), 在CMakeLists.txt构造以后,会在CMakeCache.txt中有所有缓存变量的记录. 常规变量有如下特点: 常规变量每次重新创建, 没有缓存 常规变量使用set(abc "123")的方式创建 ...
  • cmake变量名含义

    2019-11-01 10:40:04
    https://www.cnblogs.com/linuxAndMcu/p/10670591.html
  • CMake变量的作用域

    2019-07-01 22:34:00
    You need to usesetinstead oflistto affect the variable in the parent scope.So replace yourlistcommand with:set(source_list ${source_list} ${file_path} PARENT_SCOPE) shareimprove this answeredit...
  • CMAKE_VERSION CMAKE_MAJOR_VERSION CMAKE_MINOR_VERSION CMAKE_PATCH_VERSION CMAKE_TWEAK_VERSION CMAKE_PROJECT_NAME CMAKE_BINARY_DIR CMAKE_SOURCE_DIR CMAKE_CURRENT_BIN...
  • (七)CMake变量

    2020-11-27 14:42:30
    CMake变量设置方法如下: set(<variable> <value> [[CACHE <type> <docstring> [FORCE]] | PARENT_SCOPE]) 一个简单的例子: set(Books novel1 novel2 novle3) 值得注意的是,Books的值...
  • 文章目录自定义变量变量引用方式常用变量cmake调用环境变量的方式系统信息主要的开关选项 自定义变量 主要有隐式定义和显式定义两种。 隐式定义的一个例子是PROJECT指令,它会隐式的定义< projectname >_...
  • cmake变量名> 可以查看该变量的默认值和使用场景,简单使用就可以不用再去查cmake手册了。 ~$ cmake --help-variable CMAKE_INSTALL_PREFIX CMAKE_INSTALL_PREFIX -------------------- Install directory used ...
  • CMake常用变量大全

    2015-05-31 09:49:29
    cmake 是常用的跨平台预编译技术。使用cmake可以轻松的构建我们的vs工程。
  • Cmake 内置变量

    千次阅读 2019-05-31 17:41:49
    2019 May 31 cmake Cmake 内置变量 信息变量 CMAKE_SYSTEM 系统名称,例如 Linux-2.6.22、FreeBSD-5.4-RELEASE、Windows 5.1 CAMKE_SYSTEM_NAME 系统名称,如 Linux、FreeBSD、Windows CMAKE_SYSTEM_VERSION 系统...
  • CMAKE默认变量

    2019-06-24 11:50:47
    代表当前编译的文件指定的生成目录 比如: |–a | |----a.c |–out |—a.o 其中out/就是a.c的CMAKE_CURRENT_BINARY_DIR
  • cmake 常用变量

    2018-10-22 20:07:15
    1. CMAKE_BINARY_DIRPROJECT_BINARY_DIR &lt;projectname&gt;_BINARY_DIR 这三个变量指代的内容是一致的,如果是 in source 编译,指得就是工程顶层目录,如果是 out-of- source 编译,指的是工程编译发生的目录...
  • CMake自带变量

    2019-08-20 15:05:39
    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:...———————————————— 转载地址: ......
  • CMake常用变量

    2019-07-14 16:24:00
    CMake变量 CMake共用七种变量,如下所示:目录: (1)提供信息的变量。 (2)控制变量。 (3)描述系统的变量。 (4)控制构建过程的变量。 (5)语言变量。 (6)CTest变量。(7)CPack变量。 ...
  • cmake默认变量

    2017-03-29 09:39:00
    1 CMAKE_GENERATOR 用来生成工程构建文件的工具的名字,比如visual studio 12,2013,比如xcode,不同的平台使用不同的生成工具。 2 MATCHES if (variable MATCHES regex) if (string MATCHES regex) 如果变量...
  • Cmake常用变量

    2019-11-18 11:19:18
    https://www.cnblogs.com/lsgxeva/p/7804602.html
  • cmake打印变量

    2017-04-19 10:18:00
    看下面的例子,我们在cmake定义了一个变量“USER_KEY”,并打印此变量值。status表示这是一般的打印信息,我们还可以设置为“ERROR”,表示这是一种错误打印信息。 SET(USER_KEY, "Hello World") MESSAGE( ...
  • cmake安装

    千次阅读 2018-10-18 14:53:51
    cmake 官网(https://cmake.org/download/)下载cmake安装包,有如下两种: 1、手动编译、安装的 2、可执行文件 可执行文件安装很简单,直接下载对应脚本...安装完成后,需要设置环境变量:export PATH=$PATH:/us...
  • cmake 常用变量和常用环境变量 一.cmake 变量引用的方式  前面我们已经提到了,使用${ }进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过${ }取值. 二.cmake 自定义变量的方式  主要有隐式定义和...
  • 1 cmake 变量引用的方式 使用 ${} 进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过 ${} 取值。 2 cmake 自定义变量的方式 主要有隐式定义和显式定义两种,举一个隐式定义的例子,就是 PROJECT 指令,他...

空空如也

1 2 3 4 5 ... 20
收藏数 2,037
精华内容 814
关键字:

cmake变量