AIX_SHARED_LIBRARY_ARCHIVE

在版本 3.31 中添加。

在 AIX 上,启用或禁用 SHARED 共享库目标的共享库归档文件的创建

  • 如果启用,共享对象 .so 文件将被放置在一个归档文件 .a 中。这是 AIX 上的首选约定。

    归档文件中的共享对象名称会编码来自 SOVERSION 目标属性的版本信息(如果已设置),否则编码来自 VERSION 目标属性的版本信息(如果已设置)。

  • 如果禁用,则会生成一个普通的共享对象 .so 文件。这与其他 UNIX 平台一致。

add_library() 创建非导入的 SHARED 库目标时,如果 CMAKE_AIX_SHARED_LIBRARY_ARCHIVE 变量已设置,则此属性默认为该变量的值。导入的目标必须显式启用 AIX_SHARED_LIBRARY_ARCHIVE 才能导入 AIX 共享库归档文件。

版本 4.0 中已更改:对于非导入的目标,如果未设置此属性,则默认为启用。请参阅策略 CMP0182

在 CMake 3.31 中,策略 CMP0182 不存在,因此默认值为禁用

在 CMake 3.30 及更低版本中,AIX_SHARED_LIBRARY_ARCHIVE 不存在,因此默认值为禁用