CMP0182

在版本 4.0 中添加。

默认在 AIX 上创建共享库归档文件。

CMake 3.30 及更低版本始终将 SHARED 库目标表示为普通的共享对象 .so 文件。这与其他 UNIX 平台一致,但不是 AIX 上的首选约定。CMake 3.31 添加了 AIX_SHARED_LIBRARY_ARCHIVE 目标属性来创建共享库归档文件:共享对象 .so 文件被放置在归档文件 .a 文件中。然而,出于与未设置 AIX_SHARED_LIBRARY_ARCHIVE 的现有项目的兼容性考虑,此行为默认情况下被禁用。

CMake 4.0 及更高版本更倾向于在未设置 AIX_SHARED_LIBRARY_ARCHIVE 时,默认启用创建共享库归档文件,因为这是 AIX 上的首选约定。此策略为尚未更新的项目提供了兼容性。

此策略的 OLD 行为是在未设置 AIX_SHARED_LIBRARY_ARCHIVE 时禁用共享库归档文件。此策略的 NEW 行为是在未设置 AIX_SHARED_LIBRARY_ARCHIVE 时启用共享库归档文件。

此策略在 CMake 版本 4.0 中引入。可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 不会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为根据定义已被弃用,并可能在未来的 CMake 版本中移除。