我有一个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: - (
由于
答案 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)
感谢您的帮助!