当前位置: 首页 > 应用 > Mac软件 > 编程开发 > CMake for Mac(编译工具) v3.27.0-rc2免费版
CMake for Mac(编译工具) v3.27.0-rc2免费版

CMake for Mac(编译工具) v3.27.0-rc2免费版

下载

CMake Mac版是一款Mac平台上免费的编译工具,CMake旨在构建、测试和软件打包。CMake是用于控制软件使用简单的平台和编译器编译过程独立配置文件。CMake生成本机makefile和工作区,可以使用您所选择的编译器环境。

CMake for Mac(编程工具)安装教程

安装包下载完成后,安装将引导你完成安装。

CMake for Mac(编程工具)软件介绍

CMake是一套旨在构建,测试和打包软件的工具。它用于使用简单的平台和编译器独立配置文件来控制软件编译过程。CMake生成可以在您选择的编译环境中使用的本机makefile和工作区。它是由Kitware创建的,以响应对开源项目(如ITK和VTK)的强大的跨平台构建环境的需求。

CMake可以处理就地和不合适的构建,从同一个源树中启用多个构建,并交叉编译。在源树之外构建目录树的能力是一个关键特性,确保如果构建目录被删除,源文件将不受影响。另一个功能是生成要与图形编辑器一起使用的缓存的功能,当运行CMake时,可以查找可执行文件,文件和库。该信息进入缓存,然后可以在生成本机构建文件之前进行调整。依赖于多个库的复杂目录层次结构和应用程序得到CMake的良好支持。例如,CMake能够容纳具有多个工具包的项目,或者每个具有多个目录的库。此外,CMake可以在生成要为最终应用程序编译的代码之前创建需要创建可执行文件的项目。其开源的可扩展设计允许CMake根据具体项目进行调整。

它可以为许多平台和IDE生成makefile,包括Unix,Windows,Mac OS X,OS / 2,MSVC,Cygwin,MinGW和Xcode。使用CMake的项目包括Blender,Bullet物理引擎,LLVM和Clang,MariaDB,MuseScore,MySQL,Qt5,Second Life,Stellarium和SuperTux。

CMake for Mac(编程工具)功能特色

编译源代码并轻松生成二进制代码

在使用CMake时,您可以使用独立的配置文件编译项目。但是,必须首先提供源代码和输出位置才能进入配置面板。

CMake使您可以使用默认的本地编译器,选择要使用的特定本机编译器,为交叉编译提供工具链文件,或手动配置交叉编译选项。

该实用程序允许您设置目标操作系统和版本,处理器以及C,C ++和Fortran编译器。另外,您可以提供目标根,并选择程序或库模式。

此外,您可以指定要用于当前项目的生成器:Unix Makefile,Ninja,Xcode,CodeBlocks,CodeLite,Eclipse,KDevelop,Kate或Sublime Text。

创建依赖多个库的应用程序

CMake能够构建和测试多个文件夹附带的源代码,并且还需要各种库才能正常运行。该实用程序依赖于放置在源代码目录中的CMakeLists.txt文件,并包含构建项目的所有命令。

请注意,CMake附带了一组预定义的命令,它们将包含在CMakeLists.txt文件中,但您也可以选择创建自己的自定义命令。

跨平台构建环境,可以帮助您编译和打包源代码

CMake是一个功能强大的软件解决方案,用于编译,测试和打包源代码,可以通过用户友好的界面使用广泛的工具集大大简化了该过程。

CMake for Mac更新日志

新功能

预设

cmake-presets(7)文件现在支持架构版本5。

cmake-presets(7)文件现在支持扩展至或基于平台的${pathListSep}宏。:;

cmake-presets(7)文件获得了对 testOutputTruncation在测试预设中指定字段的支持,该字段在达到最大测试输出大小后指定截断模式。

生成器

这Green Hills MULTI如果任何 CMake 文件被更新,生成器现在会生成构建规则以重新运行 CMake。

使用 VS 2019 Update 11 或更高版本时,Visual Studio 生成器现在支持标头。SYSTEM

命令行

cmake(1)在配置构建树时,获得了删除任何现有文件和关联目录的--fresh命令行选项 ,从而开始新的配置,就好像构建树是新创建的一样。CMakeCache.txtCMakeFiles/

cmake(1)获得了--compile-no-warning-as-error导致效果的命令行选项COMPILE_WARNING_AS_ERROR 目标财产和CMAKE_COMPILE_WARNING_AS_ERROR要忽略的变量。

这cmake(1) --trace=json-v1跟踪格式获得的字段 global_frame和line_end.

这cmake(1) -E命令cat并env学会尊重双破折号 ( --) 参数,该参数充当指示选项结束的分隔符。任何后续参数都被视为操作数/位置参数,即使它们以破折号-字符开头。

这cmake(1) -E tar命令获得了--touch保留当前本地时间戳而不是从存档中提取文件时间戳的选项。

编译器

LLVM 的flang Fortran 编译器现在在某些平台上受支持,编译器 id 为LLVMFlang。

ADSP 编译器支持(SHARC 和 Blackfin)现在涵盖 CCES 和 VDSP++ 安装,所需的配置现在在编译器模块本身而不是Generic-ADSP平台模块中完成。

平台

添加了一个专用ADSP平台来替换现有的Generic-ADSP实现。此功能可自动检测最新的 CCES/VDSP++ 安装和编译器选择 ( cc21kvs. ccblkfn),基于CMAKE_SYSTEM_PROCESSOR多变的。

命令

这cmake_host_system_information()命令,在 Windows 上,获得了一种模式。请参阅其查询 Windows 注册表部分。QUERY WINDOWS_REGISTRY

这cmake_language()command 获得了一个新的 SET_DEPENDENCY_PROVIDER子命令。设置依赖提供程序时,调用find_package()和FetchContent_MakeAvAIlable() 可以通过自定义命令重定向,可以选择直接完成请求,修改请求的处理方式,或者让内置实现来完成。请参阅依赖提供程序。

这file(DOWNLOAD)命令获得选项RANGE_START并 RANGE_END指定要下载的字节范围。这对于下载大型二进制文件的一部分很有用。

这find_file(),find_path(),find_library(), find_program(), 和find_package()命令获得了 NO_CMAKE_INSTALL_PREFIX控制搜索的选项 CMAKE_INSTALL_PREFIX.

这find_file(),find_path(),find_library(), find_program(), 和find_package()命令获得了指定必须查询哪些 Windows 注册表视图的能力。

这find_package()命令获得了一个GLOBAL选项,允许在执行期间将导入的目标提升到全局范围find_package()称呼。

这if()命令获得了使用运算符比较路径的能力PATH_EQUAL。查看政策CMP0139.

变量

这CMAKE_COLOR_DIAGNOSTICS添加了变量以控制编译器生成的颜色诊断。此变量还使用Makefile Generators控制颜色构建系统消息,替换 CMAKE_COLOR_MAKEFILE.

这CMAKE_COLOR_DIAGNOSTICS添加了环境变量以设置默认值CMAKE_COLOR_DIAGNOSTICS.

这CMAKE_COMPILE_WARNING_AS_ERROR变量和对应 COMPILE_WARNING_AS_ERROR添加了 target 属性以启用编译器特定标志以将警告视为错误,例如-Werror.

这CMAKE_CUDA_ARCHITECTURES变量和关联 CUDA_ARCHITECTUREStarget 属性现在支持native为主机 GPU 的架构编译的特殊值。

这CMAKE_FIND_PACKAGE_TARGETS_GLOBAL添加了变量以切换find_package()命令的新GLOBAL 选项。

这CMAKE_FIND_USE_INSTALL_PREFIX添加了变量以切换find_file(),find_library(), find_path(),find_package(), 和find_program() 命令的新NO_CMAKE_INSTALL_PREFIX选项。

这CMAKE_PROJECT_TOP_LEVEL_INCLUDES添加了变量以允许在第一个站点注入自定义代码project()在确定主机和目标平台详细信息后调用。

这CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES添加了变量来告诉try_compile()命令不要将任何平台变量传递给测试项目。

这CMAKE_VERIFY_INTERFACE_HEADER_SETS变量和对应VERIFY_INTERFACE_HEADER_SETS添加了 target 属性以启用构建规则,以验证标头集中的所有标头都可以单独使用。

这CMAKE_WATCOM_RUNTIME_LIBRARY变量和 WATCOM_RUNTIME_LIBRARY引入了 target 属性来选择面向 Watcom ABI 的编译器使用的运行时库。查看政策CMP0136.

这CMAKE_XCODE_XCCONFIG变量和对应 XCODE_XCCONFIG添加了目标属性来告诉Xcode生成器来处理xcconfig文件。

属性

这INTERFACE_LINK_LIBRARIES_DIRECT和 INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE添加了目标属性以表达影响消费者直接链接依赖关系的使用要求。

这INTERFACE_HEADER_SETS_TO_VERIFY添加了目标属性以指定应由哪些标头集进行验证 VERIFY_INTERFACE_HEADER_SETS.

这LINK_LIBRARIES目标属性现在支持$生成器表达式。查看政策CMP0131.

这VS_DOTNET_STARTUP_OBJECT添加了 target 属性以告诉Visual Studio 生成器在执行程序或项目时应使用哪个启动类。当托管 .NET 项目中有多个函数签名可用时,这是必要的。static void MAIn(string[])

这VS_NO_COMPILE_BATCHING添加了 target 属性来告诉Visual Studio 生成器是否禁用编译器并行性并一次使用一个源文件调用编译器。

模块

这ExternalProject模块ExternalProject_Add() 命令获得了一个新选项,用于控制在使用下载方法DOWNLOAD_EXTRACT_TIMESTAMP时是否将提取内容的时间戳设置为与存档中的时间戳相匹配。URL政策CMP0135已添加以默认启用该选项。

这FetchContent模块和find_package()命令现在支持集成功能:

FetchContent_MakeAvAIlable()现在可以尝试通过调用来满足依赖关系find_package()第一的。一个新的 FETCHCONTENT_TRY_FIND_PACKAGE_MODE变量控制默认情况下是否对所有依赖项执行此操作,是每个依赖项选择加入,还是完全禁用。

find_package()可以重新路由呼叫 FetchContent_MakeAvAIlable()反而。一个新的只读 CMAKE_FIND_PACKAGE_REDIRECTS_DIR变量指向配置包文件所在的目录,以方便这些重新路由的调用。

这FindJNI模块现在提供导入的目标。

这FindMatlab模块matlab_add_mex()函数获得了NO_IMPLICIT_LINK_TO_MATLAB_LIBRARIES禁用自动链接 MATLAB 库的选项。

这FindPkgConfig除了默认搜索共享库之外,模块还学会了查找静态库。 pkg_check_modules()获得了STATIC_TARGET使导入的目标引用静态库的选项。

这FindZLIB获得了一个新ZLIB_USE_STATIC_LIBS变量来仅搜索静态库。

生成器表达式

这LINK_LIBRARY添加了生成器表达式以管理在链接步骤期间如何指定库。这CMAKE__LINK_LIBRARY_USING_和 CMAKE_LINK_LIBRARY_USING_变量用于定义可用的特征LINK_LIBRARY生成器表达式。此外,LINK_LIBRARY_OVERRIDE和 LINK_LIBRARY_OVERRIDE_目标属性可用于解决不兼容的功能。

这LINK_LIBRARY生成器表达式可以在针对Apple平台时以各种方式链接框架。添加了以下功能:

FRAMEWORK

NEEDED_FRAMEWORK

REEXPORT_FRAMEWORK

WEAK_FRAMEWORK

这LINK_LIBRARYApple生成器表达式可以在针对平台时以各种方式链接库。添加了以下功能:

NEEDED_LIBRARY

REEXPORT_LIBRARY

WEAK_LIBRARY

这LINK_LIBRARY生成器表达式获得了 WHOLE_ARCHIVE强制加载静态库中所有成员的功能。以下目标平台支持此功能:

所有Apple变体

Linux

所有BSD变体

SunOS

Windows

CYGWIN

MSYS

这LINK_GROUP添加了生成器表达式以在链接步骤期间管理库的分组。这 CMAKE__LINK_GROUP_USING_和 CMAKE_LINK_GROUP_USING_变量用于定义可用于LINK_GROUP生成器表达式。此版本定义了该RESCAN功能,可用于在使用适用于 Linux、BSD、SunOS 和 Windows 的 GNU 工具链的工具链时处理静态库之间的循环引用。

这PATH添加了生成器表达式来管理路径。

这PATH_EQUAL添加了生成器表达式来管理路径比较。

这TARGET_BUNDLE_DIR_NAME添加了生成器表达式以评估给定捆绑目标的捆绑目录的名称。

ctest(1)获得了一个--test-output-truncation选项(和相应的CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION变量)来指定达到最大测试输出大小后的截断模式。可能的值为tAIl(默认值)middle或head。

压缩包

这CPack WIX Generator获得了一个新的变量, CPACK_WIX_ARCHITECTURE, 指定安装程序架构以支持运行 Windows for ARM 的计算机。

CPack 现在支持CPACK_THREADSzstd 使用 libarchive 3.6 或更高版本编译时的压缩选项。它由cmake.org上提供的官方 CMake 二进制文件支持。

弃用和删除的功能

这CPack模块不再默认启用 SLA CPack DragNDrop Generator. 查看政策CMP0133 和CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE多变的。

已弃用的CPack PackageMaker Generator已被删除。

这FindGLUT模块不再提供未记录 GLUT_LIBRARY和GLUT_INCLUDE_PATH结果变量。

其他变化

CMake 不再设置环境变量,例如CC,CXX等在构建目录中的第一次 CMake 运行期间启用相应的语言时。查看政策CMP0132.

这CheckIPOSupported模块check_ipo_supported() 命令现在使用调用者的CMAKE__FLAGS 和CMAKE__FLAGS_价值观。查看政策CMP0138.

这MSYS Makefiles和MinGW Makefiles 生成器,当未明确指定编译器时,现在选择在 PATH环境变量列出的目录中找到的第一个编译器(任何名称)。

这try_compile()命令 整体项目签名现在传播平台变量。查看政策CMP0137.

这while()命令现在在条件评估期间诊断错误。查看政策CMP0130.

cmake.org上提供的预编译 macOS 二进制文件不再将 SLA 附加到.dmg包中。这已被删除,因为 macOS 12 弃用了用于附加.dmg资源的工具。

相关软件

更多

猜你喜欢

更多

相关专题

Mac编程开发软件专题

更多

相关文章

更多
CMake for Mac(编译工具)
下载