在使用CMake编译静态库时如何将参数传递给ranlib
?
我试过了:
set_target_properties(myLibrary STATIC_LIBRARY_FLAGS "--plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so")
这适用于ar
但不适用于后续ranlib
命令。
答案 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"
)
为我工作。