cmake,缺少功能set_directory_property?

时间:2018-02-01 09:04:04

标签: cmake

我有一个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: - (

由于

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

我找到了解决方案,我必须使用以下内容:

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

感谢您的帮助!