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

变量名称 描述
CMAKE_C_COMPILE_FEATURES C编译器已知的功能列表
CMAKE_C_EXTENSIONS C_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_C_STANDARD C_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_FEATURES CUDA编译器已知的功能列表
已知这些功能可用于CUDA编译器。此列表是CMAKE_CUDA_KNOWN_features全局特性中列出的功能的子集。
CMAKE_CUDA_EXTENSIONS CUDA_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_CUDA_HOST_COMPILER 这是更通用的CMAKE__HOST_COMPLER变量的原始CUDA特定名称。详见后者。
CMAKE_CUDA_STANDARD 如果在创建目标时设置了CUDA_STANDARD目标属性的默认值。
CMAKE_CUDA_STANDARD_REQUIRED CUDA_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES 启用CUDA语言后,将提供CUDA Toolkit提供的包含目录的分号分隔列表。该值对于C++源文件包含CUDA头文件可能很有用。
CMAKE_CXX_COMPILE_FEATURES C++编译器已知的功能列表
CMAKE_CXX_EXTENSIONS CXX_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_CXX_STANDARD CXX_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_CXX_STANDARD_REQUIRED CXX_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_Fortran_MODDIR_DEFAULT Fortran默认模块输出目录。
CMAKE_Fortran_MODDIR_FLAG 模块输出目录的Fortran标志。
CMAKE_Fortran_MODOUT_FLAG Fortran标志以启用模块输出。
CMAKE_HIP_ARCHITECTURES 为其生成设备代码的GPU体系结构列表。体系结构名称基于CMAKE_HIP_PLATFORM进行解释。
CMAKE_HIP_EXTENSIONS HIP_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。
CMAKE_HIP_PLATFORM 要编译HIP语言源的GPU平台。
CMAKE_HIP_STANDARD HIP_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_HIP_STANDARD_REQUIRED HIP_STANDARD_REQUIRED目标属性的默认值(如果在创建目标时设置)。
CMAKE_ISPC_HEADER_DIRECTORY ISPC生成的标头输出目录。
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 COMPILER LANG的编译器的完整路径。
这是将用作编译器的命令。一旦设置,就不能更改此变量。
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_STANDARD OBJC_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_OBJC_STANDARD_REQUIRED 如果在创建目标时设置了OBJC_STANDARD_REQUIRED目标属性的默认值。
CMAKE_OBJCXX_EXTENSIONS 如果在创建目标时设置了OBJCXX_EXTENSIONS目标属性的默认值。
CMAKE_OBJCXX_STANDARD OBJCXX_STANDARD目标属性的默认值(如果在创建目标时设置)。
CMAKE_OBJCXX_STANDARD_REQUIRED OBJCXX_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>时加载。

猜你喜欢

转载自blog.csdn.net/qq_30150579/article/details/134620602