在使用CMake编译静态库时,如何将参数传递给ranlib
?
我试过了:
set_target_properties(myLibrary STATIC_LIBRARY_FLAGS "--plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so")
这适用于ar
但不适用于随后的ranlib
命令。
你试过这个吗?
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上,这就是我将“-no_warning_for_no_symbols”标志传递给ranlib的方法。
注意:SET命令不会通过运行“make install”来修改用作安装一部分的ranlib命令。 CMake的安装程序代码不生成允许将选项添加到ranlib的安装脚本。
添加
set_property(
TARGET myLibrary
APPEND
PROPERTY STATIC_LIBRARY_FLAGS "-no_warning_for_no_symbols"
)
为我工作。