如果我做:
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
message("SourceDir: " ${SourceDir})
该消息说SourceDir为空。大概是在父范围中设置的。有没有办法在当前作用域和父作用域中设置变量?这样我就不必做:
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR})
message("SourceDir: " ${SourceDir})
最佳答案
当您将其设置为PARENT_SCOPE时,它就不会以当前方式作用于当前范围。但是,需要执行两步过程。第一行在本地设置它,第二行将其导出到父范围。
set (LIB_VER 6)
set (LIB_VER ${LIB_VER} PARENT_SCOPE)