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 上的首选约定。此策略为尚未更新的项目提供了兼容性。

当未设置 AIX_SHARED_LIBRARY_ARCHIVE 时,此策略的 OLD 行为是禁用共享库档案。当未设置 AIX_SHARED_LIBRARY_ARCHIVE 时,此策略的 NEW 行为是启用共享库档案。

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

注意

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