有没有办法知道从FindPackage(Boost)
返回的库是静态还是动态替代?
答案 0 :(得分:1)
您可以使用CMAKE_FIND_LIBRARY_SUFFIX
变量来控制find_library
命令查找的文件类型。 FindBoost模块也使用它。然后,您可以调用find_package
两次以检测所需的静态版本或共享版本是否可用。
我还没有检查过两件事(但是会这样做):首先,可能是boost的find模块设置了它自己运行时的后缀。其次,cmake可以根据BUILD_SHARED_LIBS
标志自动设置适当的后缀;在这种情况下,如果找到,您将自动获得仅返回的相同类型的库。