CMake - 用于单个库的 BUILD_SHARED_LIBS

Leh*_*hks 6 cmake

是否有像 BUILD_SHARED_LIBS 这样的变量,但仅适用于单个目标(例如 MyLib_BUILD_SHARED,其中 MyLib 是库)。

我知道我可以使用命令中的STATIC或手动确定库是静态还是动态,但我想要一个可以由用户设置的选项,而不是硬编码的解决方案。DYNAMICadd_library

此致, 莱克斯

w-m*_*w-m 5

据我所知,CMake 中没有内置方法。让它成为一个选项,其优点是还可以向用户记录意图。

option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" ON)
Run Code Online (Sandbox Code Playgroud)

然后add_library根据设置的选项执行命令。