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

问题描述 投票:2回答:2

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

我试过了:

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

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

cmake static-linking
2个回答
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上,这就是我将“-no_warning_for_no_symbols”标志传递给ranlib的方法。

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


0
投票

添加

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

为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.