CMake中的变量: 与编程语言相关的变量

变量名称描述
CMAKE_C_COMPILE_FEATURESC编译器已知的功能列表
CMAKE_C_EXTENSIONSC_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_C_STANDARDC_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_C_STANDARD_REQUIRED如果在创建目标时设置了C_STANDARD_REQUIRED目标属性的默认值。
CMAKE_COMPILER_IS_GNUCC如果C编译器是GNU,则为True。
CMAKE_COMPILER_IS_GNUCXX如果C++(CXX)编译器是GNU,则为True。
CMAKE_COMPILER_IS_GNUG77如果Fortran编译器是GNU,则为True。
CMAKE_CUDA_ARCHITECTURES目标的CUDA_ARCHITECTURES属性的默认值。
CMAKE_CUDA_COMPILE_FEATURESCUDA编译器已知的功能列表
已知这些功能可用于CUDA编译器。此列表是CMAKE_CUDA_KNOWN_features全局特性中列出的功能的子集。
CMAKE_CUDA_EXTENSIONSCUDA_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_CUDA_HOST_COMPILER这是更通用的CMAKE__HOST_COMPLER变量的原始CUDA特定名称。详见后者。
CMAKE_CUDA_STANDARD如果在创建目标时设置了CUDA_STANDARD目标属性的默认值。
CMAKE_CUDA_STANDARD_REQUIREDCUDA_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES启用CUDA语言后,将提供CUDA Toolkit提供的包含目录的分号分隔列表。该值对于C++源文件包含CUDA头文件可能很有用。
CMAKE_CXX_COMPILE_FEATURESC++编译器已知的功能列表
CMAKE_CXX_EXTENSIONSCXX_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_CXX_STANDARDCXX_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_CXX_STANDARD_REQUIREDCXX_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_Fortran_MODDIR_DEFAULTFortran默认模块输出目录。
CMAKE_Fortran_MODDIR_FLAG模块输出目录的Fortran标志。
CMAKE_Fortran_MODOUT_FLAGFortran标志以启用模块输出。
CMAKE_HIP_ARCHITECTURES为其生成设备代码的GPU体系结构列表。体系结构名称基于CMAKE_HIP_PLATFORM进行解释。
CMAKE_HIP_EXTENSIONSHIP_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_HIP_PLATFORM要编译HIP语言源的GPU平台。
CMAKE_HIP_STANDARDHIP_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_HIP_STANDARD_REQUIREDHIP_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_ISPC_HEADER_DIRECTORYISPC生成的标头输出目录。
CMAKE_ISPC_HEADER_SUFFIX要用于ISPC生成的标头的输出后缀。
CMAKE_ISPC_INSTRUCTION_SETS目标的ISPC_INSTRUCTION_SETS属性的默认值。
CMAKE ANDROID_TOOLCHAIN_MACHINE当为Android进行交叉编译时,此变量包含工具链binutils机器名称(例如gcc-dumpmachine)。binutils的名称通常有一个<machine>前缀。
CMAKE ANDROID_TOOLCHAIN_PREFIX当为Android进行交叉编译时,该变量包含工具链GNU编译器及其binutils的绝对路径前缀。
CMAKE ANDROID_TOOLCHAIN_SUFFIX当为Android进行交叉编译时,此变量包含工具链GNU编译器及其binutils的主机平台后缀。
CMAKE ARCHIVE_APPEND要附加到静态存档的规则变量。
CMAKE ARCHIVE_CREATE用于创建新静态存档的规则变量。
CMAKE ARCHIVE_FINISH用于完成现有静态存档的规则变量。
CMAKE BYTE_ORDER编译器目标体系结构的字节顺序(如果已知)。
CMAKE COMPILE_OBJECT用于编译单个对象文件的规则变量。
这是一个规则变量,告诉CMake如何编译语言<LANG>的单个对象文件。
CMAKE COMPILERLANG的编译器的完整路径。
这是将用作编译器的命令。一旦设置,就不能更改此变量。
CMAKE COMPILER_EXTERNAL_TOOLCHAIN用于交叉编译的外部工具链(如果支持)。
CMAKE COMPILER_ID编译器标识字符串。
CMAKE COMPILER_LOADED如果启用了语言,则定义为true。
CMAKE COMPILER_PREDEFINES_COMMAND输出编译器预定义的命令。
CMAKE COMPILER_TARGET交叉编译的目标(如果支持)。
一些编译器驱动程序本质上是交叉编译器,例如clang和QNXqcc。这些编译器驱动程序支持一个命令行参数来指定交叉编译的目标。
CMAKE COMPILER_VERSION编译器版本字符串。
major[.minor[.patch[.teak]]]格式的编译器版本。不能保证为所有编译器或语言定义此变量。
CMAKE CREATE_SHARED_LIBRARY用于创建共享库的规则变量。
这是一个规则变量,告诉CMake如何为<LANG>语言创建共享库。此规则变量是;要运行以执行链接步骤的命令的分隔列表。
CMAKE CREATE_SHARED_MODULE用于创建共享模块的规则变量。
这是一个规则变量,告诉CMake如何为<LANG>语言创建共享库。此规则变量是;要运行的命令的分隔列表。
CMAKE CREATE_STATIC_LIBRARY用于创建静态库的规则变量。
这是一个规则变量,告诉CMake如何创建语言<LANG>的静态库。
CMAKE EXTENSIONS如果在创建目标时设置了EXTENSIONS目标属性的默认值。有关编译器的默认设置,请参阅CMAKE_EXTENSIONS_default。
CMAKE EXTENSIONS_DEFAULT编译器的默认扩展模式。当未设置CMAKE__EXTENSIONS时,用作_EXTENSONS目标属性的默认值(请参阅CMP0128)。
CMAKE FLAGS构建所有配置时使用的语言<LANG>的语言范围标志。这些标志将传递给编译器的所有调用。这包括驱动编译的调用和驱动链接的调用。
CMAKE _FLAGS为<CONFIG>配置构建时使用的<LANG>语言的语言范围标志。这些标志将传递给相应配置中编译器的所有调用。这包括驱动编译的调用和驱动链接的调用。
CMAKE _FLAGS_INIT第一次为语言<LANG>配置生成树时,用于初始化CMAKE_FLAGS<CONFIG>缓存项的值。这个变量是由一个工具链文件设置的。CMake可以基于环境和目标平台为该值预先准备或附加内容。
CMAKE FLAGS_DEBUG此变量是CMAKE_FLAGS变量的Debug变量。
CMAKE FLAGS_DEBUG_INIT此变量是CMAKE_FLAGS_INIT变量的Debug变量。
CMAKE FLAGS_INIT第一次为语言<LANG>配置生成树时,用于初始化CMAKE_<LANG<_FLAGS缓存项的值。这个变量是由一个工具链文件设置的。CMake可以基于环境和目标平台为该值预先准备或附加内容。例如,xxxFLAGS环境变量的内容将被前置,其中xxx将是特定于语言的,但不一定与相同(例如CXXFLAGS用于CXX,FFLAGS用于Fortran,等等)。此值是一个命令行字符串片段。因此,多个选项应该用空格分隔,并且带有空格的选项应该被引用。
CMAKE FLAGS_MINSIZEREL此变量是CMAKE_FLAGS变量的MinSizeRel变量。
CMAKE FLAGS_MINSIZEREL_INIT此变量是CMAKE_FLAGS_INIT变量的MinSizeRel变量。
CMAKE FLAGS_RELEASE此变量是CMAKE_FLAGS变量的Release变量。
CMAKE FLAGS_RELEASE_INIT此变量是CMAKE_FLAGS_INIT变量的Release变量。
CMAKE FLAGS_RELWITHDEBINFO此变量是CMAKE_FLAGS变量的RelWithDebInfo变量。
CMAKE FLAGS_RELWITHDEBINFO_INIT此变量是CMAKE_FLAGS_INIT变量的RelWithDebInfo变量。
CMAKE HOST_COMPILER当<LANG>为CUDA或HIP时,此变量可用。
当CMAKE_COMPILER_ID为NVIDIA时,CMAKE_HOST_COMPLER会选择编译CUDA或HIP语言文件的主机代码时要使用的编译器可执行文件。这映射到nvcc-ccbin选项。
CMAKE IGNORE_EXTENSIONS生成应忽略的文件扩展名。
这是一个文件扩展名列表,这些文件扩展名可能是给定语言项目的一部分,但尚未编译。
CMAKE IMPLICIT_INCLUDE_DIRECTORIES编译器隐式搜索目录中的头文件。
CMake没有在语言<LANG>的编译器命令行上显式指定这些目录。这可以防止系统包含目录在某些编译器上被视为用户包含目录,这对于C、CXX和CUDA避免重写标准库头非常重要。
CMAKE IMPLICIT_LINK_DIRECTORIES检测到语言<LANG>的隐式链接器搜索路径。
编译器通常在调用链接器时传递包含语言运行库和默认库搜索路径的目录。这些路径是编译器语言的隐式链接器搜索目录。
CMAKE IMPLICIT_LINK_FRAMEWORK_DIRECTORIES检测到语言<LANG>的隐式链接器框架搜索路径。
这些路径是编译器语言的隐式链接器框架搜索目录。CMake会自动检测每种语言的这些目录,并在此变量中报告结果。
CMAKE IMPLICIT_LINK_LIBRARIES检测到语言<LANG>的隐式链接库和标志。
编译器通常在调用链接器时传递语言运行库名称和其他标志。这些标志是编译器语言的隐式链接选项。对于project()或enable_language()命令启用的每种语言,CMake都会自动检测这些库和标志,并在该变量中报告结果。
CMAKE LIBRARY_ARCHITECTURE检测到的目标体系结构库目录名。
如果编译器将特定于体系结构的系统库搜索目录(如/lib/)传递给链接器,则此变量包含名称If/如CMake检测到的。
CMAKE LINK_EXECUTABLE链接可执行文件的规则变量。
用于链接给定语言的可执行文件的规则变量。
CMAKE LINKER_WRAPPER_FLAG定义编译器驱动程序选项的语法,以将选项传递给链接器工具。它将用于转换链接选项中的LINKER:前缀(请参见add_link_options()和target_link_ooptions())。
CMAKE LINKER_WRAPPER_FLAG_SEP此变量与CMAKE__LINKER_WRAPPER_FLAG变量一起用于格式化链接选项中的LINKER:前缀(请参见add_link_options()和target_link_ooptions())。
CMAKE OUTPUT_EXTENSION单个文件的编译输出的扩展名。
这是给定<LANG>的对象文件的扩展名。例如.obj表示Windows上的C。
CMAKE SIMULATE_ID“模拟”编译器的标识字符串。
一些编译器模拟其他编译器作为插入式替换。当CMake检测到这样的编译器时,它会将此变量设置为模拟编译器的CMake__compiler_ID。
CMAKE SIMULATE_VERSION“模拟”编译器的版本字符串。
一些编译器模拟其他编译器作为插入式替换。当CMake检测到这样的编译器时,它会将此变量设置为模拟编译器的CMake__compiler_VERSION。
CMAKE SIZEOF_DATA_PTR指向语言<LANG>的数据类型的指针大小。
这保存了指向目标平台ABI中数据类型的指针的大小(以字节为单位)。它是为C和CXX(C++)语言定义的。
CMAKE SOURCE_FILE_EXTENSIONS给定语言的源文件的扩展名。
这是给定语言的源文件的扩展名列表。
CMAKE STANDARD_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE STANDARD_DEFAULT编译器对语言<LANG>的默认标准。如果编译器没有标准级别的概念,则为空。
CMAKE STANDARD_INCLUDE_DIRECTORIES包括要用于使用<LANG>编译器编译的每个源文件的目录。这是为了规范当前平台的语言所需的系统包含目录。目录总是出现在传递给编译器的include路径的末尾。
CMAKE STANDARD_LIBRARIES链接到每个可执行文件的库和为语言<LANG>链接的共享库。这是为了规范当前平台的语言所需的系统库。
CMAKE STANDARD_REQUIRED_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_OBJC_EXTENSIONS如果在创建目标时设置了OBJC_EXTENSIONS目标属性的默认值。
CMAKE_OBJC_STANDARDOBJC_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_OBJC_STANDARD_REQUIRED如果在创建目标时设置了OBJC_STANDARD_REQUIRED目标属性的默认值。
CMAKE_OBJCXX_EXTENSIONS如果在创建目标时设置了OBJCXX_EXTENSIONS目标属性的默认值。
CMAKE_OBJCXX_STANDARDOBJCXX_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_OBJCXX_STANDARD_REQUIREDOBJCXX_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_Swift_LANGUAGE_VERSION设置为Swift语言版本号。如果未设置,则假定主机Xcode版本中已知可用的最旧的遗留版本:
适用于Xcode 10.2及以上版本的Swift 4.0。
适用于Xcode 8.3及以上版本的Swift 3.0。
Swift 2.3适用于Xcode 8.2及以下版本。
CMAKE_USER_MAKE_RULES_OVERRIDE _指定一个CMake文件,用于覆盖<LANG>的平台信息。
这是CMAKE_USER_MAKE_ULES_OVERRIDE的特定语言版本,仅在启用语言<LANG>时加载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoDeLuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值