如何使用cmake将参数传递给ranlib?

时间:2015-08-31 20:22:28

标签: cmake static-linking

在使用CMake编译静态库时如何将参数传递给ranlib

我试过了:

set_target_properties(myLibrary STATIC_LIBRARY_FLAGS "--plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so")

这适用于ar但不适用于后续ranlib命令。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

SET(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")

在Mac上,这就是我传递&#34; -no_warning_for_no_symbols&#34;标记为ranlib。

注意:SET命令不会通过运行&#34; make install来修改用作安装一部分的 ranlib 命令。&#34; CMake的安装程序代码不生成允许将选项添加到 ranlib的安装脚本。

答案 1 :(得分:0)

添加

set_property(
    TARGET myLibrary
    APPEND
    PROPERTY STATIC_LIBRARY_FLAGS "-no_warning_for_no_symbols"
)

为我工作。