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

yacmzcpb  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(124)

在使用CMake编译静态库时,如何将参数传递给ranlib
我试探着:

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

字符串
这对ar有效,但对随后的ranlib命令无效。

jqjz2hbq

jqjz2hbq1#

你试过这个吗?

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 * 的安装脚本。

pcww981p

pcww981p2#

对于CMake 3.13+,使用STATIC_LIBRARY_OPTIONS

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

字符串
对于旧版本的CMake,请使用STATIC_LIBRARY_FLAGS

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

相关问题