【问题标题】:cmake, missing feature set_directory_property?cmake,缺少功能 set_directory_property?
【发布时间】:2018-02-01 18:35:25
【问题描述】:

我有一个 cmake 项目,我想做以下事情:

set_directory_property(DIRECTORY glfw BUILD_SHARED_LIBS ON)
add_subdirectory(glfw)

我想强制 BUILD_SHARED_LIBS 为 ON,但仅限于“glfw”子目录的范围内。无需接触 glfw cmake 文件。

有可能吗?

没有set_directory_property,只有get_directory_property :-(

谢谢

【问题讨论】:

标签: cmake


【解决方案1】:

BUILD_SHARED_LIBS 是一个变量而不是目录属性。而VARIABLES 目录属性是只读的。

所以在你的情况下,你只需这样做:

set(BUILD_SHARED_LIBS ON)
add_subdirectory(glfw)
unset(BUILD_SHARED_LIBS)

【讨论】:

  • 谢谢,但它不起作用。似乎 cmake 仍然在 OFF 时解释 BUILD_SHARED_LIBS !
【解决方案2】:

我找到了解决方案,我不得不使用以下方法:

set(BUILD_SHARED_LIBS ON CACHE "" INTERNAL FORCE)
add_subdirectory(glfw)
set(BUILD_SHARED_LIBS OFF CACHE "" INTERNAL FORCE)

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2022-01-21
    • 2021-06-15
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多